========================================== 如何在 Ubuntu 9.10 下编译 Android 源码 ========================================== 问题:Ubuntu 升级为 9.10, 后 Android 源码没法编译经过怎么办? 缘由: 这是 gcc 和 g++ 的版本过高致使的问题。Ubuntu 9.04 是4.3, 而 9.10 是4.4. GCC 在 4.4 时把部份 string 相关的 function 回传值的 type 改变了... char* 改为了 const char*... 也所以让一堆本来不是针对最新的gcc来写的code都没法编译成功。 解决方案:使用旧版本的 gcc 和 g++ 。 一、先下载 gcc-4.3 g++-4.3: apt-get install gcc-4.3 g++-4.3 二、删除原有的链接: sudo rm /usr/bin/gcc 三、添加新的链接: sudo ln -s /usr/bin/gcc-4.3 /usr/bin/gcc
更新源,安装 jdk 1.5。 java_version := $(shell java -version 2>&1 | head -n 1 | grep '[ "]1\.5[\. "$$]') 两行改为: java_version := $(shell java -version 2>&1 | head -n 1 | grep '[ "]1\.6[\. "$$]')
javadoc: 错误 - 在 doclet 类 DroidDoc 中,方法 start 已抛出异常 java.lang.reflect.InvocationTargetException ================================================== 解决了以上两个问题以后,按照 Android 官方文档的方法便可顺利进行编译。分享经验,分享快乐!放心享受 Ubuntu 9.10 带给您的惊喜吧! 做者:曾赛 日期:2010-02-25
==================== 1.找不到PRODUCT_POLICY 这部分摘自:http://embeddeder.spaces.live.com/Blog/cns!8006E36532087D51!213.entry 附后:(from http://forum.xda-developers.com/archive/index.php/t-633274.html)web I notice that there is quiet a few people around that are having issues building the source, due to the lack on Sun-Java5 (1.5 JDK) in the Ubuntu Repositories. $ mkdir ~/mydroid $ mkdir mydroid/java5-packages $ cd ~mydroid/java5-packages $ wget http://mirror.pacific.net.au/linux/ubuntu/pool/multiverse/s/sun-java5/sun-java5-jre_1.5.0-18-1_all.deb $ wget http://mirror.pacific.net.au/linux/ubuntu/pool/multiverse/s/sun-java5/sun-java5-bin_1.5.0-18-1_amd64.deb $ wget http://mirror.pacific.net.au/linux/ubuntu/pool/multiverse/s/sun-java5/sun-java5-demo_1.5.0-18-1_amd64.deb $ wget http://mirror.pacific.net.au/linux/ubuntu/pool/multiverse/s/sun-java5/sun-java5-jdk_1.5.0-18-1_amd64.deb $ 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 $ sudo dpkg -i --ignore-depends=sun-java5-bin sun-java5-jre_1.5.0-18-1_all.deb $ sudo dpkg -i sun-java5-bin_1.5.0-18-1_amd64.deb $ sudo dpkg -i --ignore-depends=sun-java5-jdk sun-java5-demo_1.5.0-18-1_amd64.deb $ sudo dpkg -i sun-java5-jdk_1.5.0-18-1_amd64.deb $ sudo update-java-alternatives -s java-1.5.0-sun $ cd .. $ wget http://android.git.kernel.org/repo $ sudo mv repo /usr/bin/ $ chmod a+x /usr/bin/repo $ repo init -u git://android.git.kernel.org/platform/manifest.git -b eclair $ rep sync $ cd external/webkit/ $ git cherry-pick 18342a41ab72e2c21931afaaab6f1b9bdbedb9fa $ cd ../../ $ wget --referer=http://developer.htc.com/google-io-device.html http://member.america.htc.com/download/RomCode/ADP/signed-google_ion-ota-14721.zip? $ cd vendor/htc/sapphire-open/ $ ./unzip-files.sh $ cd ../../../ $ . build/envsetup.sh $ lunch aosp_sapphire_us-eng $ make That's it? Ok, So it was a lot... Hope this helps someone get the 1.5 JDK on their Ubuntu system (and build eclair) |