Ubuntu 10.10编译Android froyo[Linux安全]
本文“Ubuntu 10.10编译Android froyo[Linux安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
把系统进级到Ubuntu 10.10,首先对Ubuntu在UI上的突 飞大进表示大家赞美,很多细节都做得不错,特别是对字体效果的优化.
转入正题,发现,随着系统的进级,Android编译的条件也变得相当尖刻了.假如纯真的按照老版本的编 译办法,貌似会很简单碰壁.从昨晚到目前,我就把系统重装了两次(从去年底动手新笔电到目前就装过四次系统= =),缘由都归功于新环境下编译Froyo.
首先,关于新版本的Ubuntu,最好用64位的,在32位环境下编译,在check阶段都报错.之前就是因为我装的是32位的系统,后果一向没成功,不 得不连夜下载64位系统装上,杯具得一比.
warning ************************************************************
warning You are attempting to build on a 32-bit system.
warning Only 64-bit build environments are supported beyond froyo/2.2.
warning ************************************************************
复制代码
假如一定要在32位环境下编译,网上也有办理筹划,我试了试,但没成功.
其次是,编译器的版本也要注意,就是gcc和g++,刚开始,我一向安装4.4版本的,后果在编译的时刻,发现不少代码编译不通过.起先没留神,自己边改 边把C/C++复习了一把= =,但毕竟不是办理的办法,总会报些不伦不类的初级错误.想想预计是编译器版本的问题,新版本的编译器对代码解析越发严峻了吧.后来还是换回了4.3版本的.
假如以及安装来4.4的,可以在安装4.3后成立链接
cd /usr/bin
ln -s gcc-4.3 gcc
ln -s g++-4.3 g++
复制代码
然后是,SDK编译的必要工具包,假如完好调用32位编译的工具包,会发现编译历程中贫乏很多必要的libs,呈现近似 cannot find -lxxx 的错误.因为贫乏相关的libs
倡议在apt-get install的时刻,加上这两个东东:
g++-multilib g++-4.3-multilib
复制代码
大概,直接斗胆的拷贝这个= =
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev java-common unixodbc
复制代码
还有就是,Java JDK版本,之前都说,Android只支持1.5版本的JDK,目前,关于Froyo,貌似支持1.6的了,但杯具的是,不支持1.5,编译时在 check阶段,会报错,必须1.6版本的JDK.所以啊,编译的时刻注意了,既然答应1.6了,就不要在1.5上挣扎了,hoho~
最后,就是,做好以上预备之后,make之,认为可以看看电视喝喝茶什么的,www.linuxidc.com后果,给我来了这么一个error:
build/core/base_rules.mk:128: *** dalvik/libcore: MODULE.TARGET.JAVA_LIBRARIES.core already defined by libcore. Stop.
网上有办理筹划,请斗胆的点击这里,我没试,同步太耗时间来,我直接找到base_rules.mk的第128行,用#注释之! 像这样: #$(error $(LOCAL_PATH): $(module_id) already defined by $($(module_id)))
复制代码
需求声明的是,这只是在非常情形下做的非常处理,假如在这个地方没报错,就不用改正源文件来.
其实,我认为,在check tools阶段,需求校验很多模块与工具,比方什么系统是32位还是64位啊,JDK那个版本啊之类的,假如检测到某个工具不满意要求就报错了.我们可以 尝试将这个校验条件给注释掉,跳过对该工具的检测.这种检测应当,我说的是应当,只是为保证安全且成功的编译而供应的一种校验机制,是需求的,但不是必须 的,所以,在一些非常情形,我们可以做一下非常处理.
以上就是我在10.10倒腾了一天的心得领会,但愿对大家有帮忙,有不对的地方,请斗胆拍砖指正,谢谢!
以上是“Ubuntu 10.10编译Android froyo[Linux安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |