欢迎来到天天文库
浏览记录
ID:37293510
大小:645.98 KB
页数:7页
时间:2019-05-21
《深入浅出 - Android系统移植与平台开发(二) - 准备Android开发环境》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、本文由兰州白癜风医院http://www.fzjfh.com/收集,转载请注明出处深入浅出-Android系统移植与平台开发(二)-准备Android开发环境编译Android源码关于android系统的编译,Android的官方网站上也给出了详细的说明。http://source.android.com/source/building.htmlØ初始化编译环境切换到Android源码目录:$cdWORKING_DIRECTORY执行下面命令,加载编译过程中用到的命令、环境变量:$sourcebuild/envsetup.shØ选择编译选项执行下面的命令,从列表中选择一个编译项:$lunc
2、hYou'rebuildingonLinuxLunchmenu...pickacombo:1.full-eng2.full_x86-eng3.vbox_x86-eng4.full_maguro-userdebug5.full_tuna-userdebug6.full_panda-eng我们选择:1,也就是说,编译full-eng的目标,当然我们也可以直接指定编译项,如下:$lunchfull-eng其中,lunch命令是指打印或设置出当前系统中设置的编译项,full-eng这个编译项由两部分组成,其中前半部分full表示目标设备为Android的模拟器,官方解释为:fullyconfigu
3、redwithalllanguages,apps,inputmethods,全部的应用程序及语言,输入法等。后半部分eng表示带有调试功能的工程机。lunch命令打印全部的信息,如下表所示:BuildDeviceNotesname本文由兰州白癜风医院http://www.fzjfh.com/收集,转载请注明出处本文由兰州白癜风医院http://www.fzjfh.com/收集,转载请注明出处BuildDeviceNotesnamefullemulatorfullyconfiguredwithalllanguages,apps,inputmethodsfull_maguromaguroful
4、lbuildrunningonGalaxyNexusGSM/HSPA+("maguro")full_pandapandafullbuildrunningonPandaBoard("panda")BuildtypeUseuserlimitedaccess;suitedforproductionuserdebuglike"user"butwithrootaccessanddebuggability;preferredfordebuggingengdevelopmentconfigurationwithadditionaldebuggingtoolsØ编译前的准备由于我们使用ubuntu12.0
5、4对Android进行编译,Android对Ubuntu12.04的编译平台的支持不是很推荐,有些库的兼容方面会有一些问题,在编译过程中会产生一些错误,我们要进行一些修正。错误信息:g++selectedmultilib'32'notinstalled或:0:0:error:"_FORTIFY_SOURCE"redefined[-Werror]:0:0:note:thisisthelocationofthepreviousdefinitioncc1plus:allwarningsbeingtreatedaserrorsmake:***[out
6、/host/linux-x86/obj/EXECUTABLES/obbtool_intermediates/Main.o]Error1原因:在Android系统过程中,要使用gcc-4.4/g++-4.4的编译器,而Ubuntu12.04的gcc版本为4.6.3解决方法:安装gcc-4.4$sudoapt-getinstallgcc-4.4$sudoapt-getinstallg++-4.4进入到/usr/bin目录下,删除gcc对gcc-4.6的链接,创建到新安装的gcc-4.4的链接:$cd/usr/bin$sudorm-rgcc$sudoln-sgcc-4.4gcc本文由兰州白癜风医
7、院http://www.fzjfh.com/收集,转载请注明出处本文由兰州白癜风医院http://www.fzjfh.com/收集,转载请注明出处验证结果:$gcc-v$g++-v打印其版本为gcc-4.4x、g++-4.4x即可。Ø编译源码输入下面命令开始编译:$make-jn其中,-jn表示,n个线程同时编译,一般n的值为CPU核的2倍,但是,也要和你的Ubuntu的内存有关系,每个线程在编译时最少需要1G内存,如果
此文档下载收益归作者所有