2022年深入浅出-Android系统移植与平台开发_准备Android开发环境归类 .pdf
《2022年深入浅出-Android系统移植与平台开发_准备Android开发环境归类 .pdf》由会员分享,可在线阅读,更多相关《2022年深入浅出-Android系统移植与平台开发_准备Android开发环境归类 .pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、深入浅出-Android系统移植与平台开发(二)-准备 Android开发环境作者:唐老师,华清远见嵌入式学院 讲师。编译 Android源码关于 android 系统的编译,Android 的官方网站上也给出了详细的说明。http:/ Android 源码目录:plain view plaincopyprint?1.$cd WORKING_DIRECTORY 执行下面命令,加载编译过程中用到的命令、环境变量:plain view plaincopyprint?1.$source build/envsetup.sh?选择编译选项执行下面的命令,从列表中选择一个编译项:plain view pl
2、aincopyprint?1.$lunch 2.Youre building on Linux 3.4.Lunch menu.pick a combo:5.1.full-eng 6.2.full_x86-eng 7.3.vbox_x86-eng 8.4.full_maguro-userdebug 9.5.full_tuna-userdebug 10.6.full_panda-eng 我们选择:1,也就是说,编译full-eng 的目标,当然我们也可以直接指定编译项,如下:名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 8 页 -plain view plaincopyprint?
3、1.$lunch full-eng 其中,lunch 命令是指打印或设置出当前系统中设置的编译项,full-eng 这个编译项由两部分组成,其中前半部分full 表示目标设备为 Android 的模拟器,官方解释为:fully configured with all languages,apps,input methods,全部的应用程序及语言,输入法等。后半部分eng 表示带有调试功能的工程机。lunch 命令打印全部的信息,如下表所示:Build name Device Notes full emulator fully configured with all languages,apps
4、,input methods full_maguro maguro full build running on Galaxy Nexus GSM/HSPA+(maguro)full_panda panda full build running on PandaBoard(panda)Buildtype Use user limited access;suited for production userdebug like user but with root access and debuggability;preferred for debugging eng development con
5、figuration with additional debugging tools?编译前的准备由于我们使用 ubuntu12.04 对 Android 进行编译,Android 对 Ubuntu12.04 的编译平台的支持不是很推荐,有些库的兼容方面会有一些问题,在编译过程中会产生一些错误,我们要进行一些修正。错误信息:plain view plaincopyprint?1.g+selected multilib 32 not installed 或plain view plaincopyprint?1.:0:0:error:_FORTIFY_SOURCE redefined-Werror
6、 2.:0:0:note:this is thelocation of the previous definition 3.cc1plus:all warnings being treated aserrors 4.make:*out/host/linux-x86/obj/EXECUTABLES/obbtool_intermediates/Main.o Error 1 原因:在 Android 系统过程中,要使用gcc-4.4/g+-4.4 的编译器,而 Ubuntu12.04 的 gcc 版本为 4.6.3 名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 8 页 -解决方法:安
7、装 gcc-4.4 plain view plaincopyprint?1.$sudo apt-get install gcc-4.4 2.$sudo apt-get install g+-4.4 进入到/usr/bin 目录下,删除gcc 对 gcc-4.6 的链接,创建到新安装的gcc-4.4 的链接:plain view plaincopyprint?1.$cd/usr/bin 2.$sudo rm-r gcc 3.$sudo ln-s gcc-4.4 gcc 验证结果:plain view plaincopyprint?1.$gcc-v 2.$g+-v 打印其版本为 gcc-4.4x、
8、g+-4.4x 即可。?编译源码输入下面命令开始编译:plain view plaincopyprint?1.$make-jn 其中,-jn 表示,n 个线程同时编译,一般n 的值为 CPU 核的 2 倍,但是,也要和你的Ubuntu 的内存有关系,每个线程在编译时最少需要1G 内存,如果你没有很多内存,还是直接使用make 命令吧,否则,编译到后面会出错。这个过程,如果是虚拟机的话,至少要4 个多小时,如果是实体机的话,要看配置,一般在1 个小时以上。编译成功结果如下图所示:名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 8 页 -编译 goldfish内核源码编译 Linux
9、 源码必然要先指定gcc 交叉编译器,我们直接使用Android 自带的 arm-eabi-4.4.3 编译器,它在WORKING_DIRECTORY/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin路径下。plain view plaincopyprint?1.$ls WORKING_DIRECTORY/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin 我们编译下面一个编译脚本make_zImage.sh,让这个脚本去编译goldfish 的内核:plain view plaincopyprint?1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年深入浅出-Android系统移植与平台开发_准备Android开发环境归类 2022 深入浅出 Android 系统 移植 平台 开发 准备 环境 归类
限制150内