从TI的官方下载Gingerbread_2.3.4 的源码后,参考开打指南进行编译,过程会出错,主要是系统配置问题。经过一些折腾,终于成功编译通过,现在记录如下,供参考。
TI默认以ubuntu为基础,说的是ubuntu 10.04+ 都可以,但实际上用了太新的版本可能会出问题。至少我在11.10上是遇到了一些古怪的问题,后来干脆退而求其次,用回了ubuntu 10.04。之所以选择10.04,还一个原因是因为这是一个LTS版本。
32位还是64位?建议选择64位系统。因为编译android需要的内存较大,我的电脑有4GB内存,所以用了64位系统,当然,也可选择32位系统。但是,如果编译android-2.2版本,则必须使用64位版本。
TI的开发指南可供参考,但是不全,完全按照TI的手册进行操作,很有可能出错。最好的资料还是参考android的网页:
TI的操作没提到32和64位的事情,如果用64位,就算已经安装了IA32兼容包,在编译过程中很有可能还会遇到其他问题,如stubs-32.h文件找不到,或者找不到-lz等问题,这些问题如果按照android的链接操作,都能解决。(分别是g++-multilib、lib32z-dev的缘故)
另外,在安装java的最后一步,很有可能失败,只需安装sun-java6-plugin就可以了。
- $ sudo add-apt-repository "deb lucid partner"
- $ sudo add-apt-repository "deb-src ubuntu lucid partner"
- $ sudo apt-get update
- $ sudo apt-get install sun-java6-jdk
- $ sudo update-java-alternatives -s java-6-sun
- $ sudo apt-get install git-core gnupg flex bison gperf build-essential \
- zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
- x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \
- libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
- libxml2-utils
编译android按照TI的说明即可。
j的值。n的值是处理器线程数目的2倍,如4核8线程的I7处理器,可设置为j16,经过实验,编译整个Gingerbread_2.3.4,用的时间仅为1小时多一点,很是可观。
- make TARGET_PRODUCT=am3517evm clean
- make TARGET_PRODUCT=am3517evm OMAPES=3.x -j16
按照TI的说明即可。
附:android资源
阅读(2389) | 评论(0) | 转发(0) |