`

ubuntu 10.04和10.10上下载编译环境配置android2.2-froyo

阅读更多
ubuntu 10.04和10.10上下载编译环境配置android2.2-froyo

===========================================
sudo apt-get install git-core

wgethttps://android.git.kernel.org/repo; chmod +x repo; sudo mv repo /usr/local/bin/
mkdir android_gliethttp; cd android_gliethttp
repo init -u git://android.git.kernel.org/platform/manifest.git -b froyo
repo sync

===========================================
sudo apt-get install bison default-jdk g++ zlib1g-dev flex gperf libncurses5-dev

make -j4

===========================================

使用jdk1.6编译android唯一的问题就是编译sdk的
build/tools/droiddoc/src/DroidDoc.java中DroidDoc类
引用的InvocationTargetException库时javadoc将不能通过,emulator和system.img这2个功能
都可以正常完成[luther.gliethttp],如下是jdk1.6编译sdk时提示的错误log信息:

Docs droiddoc: out/target/common/docs/services
javadoc: error - In doclet class DroidDoc,  method start has thrown an exception java.lang.reflect.InvocationTargetException
com.sun.tools.javac.code.Symbol$CompletionFailure: class file for sun.util.resources.OpenListResourceBundle not found
1 error
make: *** [out/target/common/docs/services-timestamp] Error 45


解决方法:

其实对于我们china地区来说,使用如下源(ubuntu 8.04 LTS)会更快[luther.gliethttp]

deb http://ubuntu.cn99.com/ubuntu/ hardy multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ hardy multiverse
deb http://ubuntu.cn99.com/ubuntu/ hardy-updates multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ hardy-updates multiverse

使用update-alternatives --all可以更新所有的2个以上选择的应用程序路径默认路径[luther.gliethtt]
luther@gliethttp:~$sudo update-java-alternatives -l
java-1.5.0-sun 53 /usr/lib/jvm/java-1.5.0-sun
java-6-openjdk 1061 /usr/lib/jvm/java-6-openjdk
设置java-1.5为默认java
luther@gliethttp:~$sudo update-java-alternatives -s java-1.5.0-sun
或者只将javadoc默认使用jdk1.6改为默认使用jdk1.5也同样能够成功用jdk1.6编译成功sdk
luther@gliethttp:~$sudo update-alternatives --config javadoc

===========================================

默认并没有kernel代码,需要单独clone,步骤为

1. 下载kernel的common版本

git clone git://android.git.kernel.org/kernel/common.git

2. 默认common的branch为

luther@gliethttp:~/common$ git branch -a

* android-2.6.27

  remotes/origin/HEAD -> origin/android-2.6.27

  remotes/origin/android-2.6.25

  remotes/origin/android-2.6.27

  remotes/origin/android-2.6.29

  remotes/origin/android-2.6.32

  remotes/origin/android-2.6.35

  remotes/origin/android-2.6.36

  remotes/origin/android-goldfish-2.6.27

  remotes/origin/android-goldfish-2.6.29

我们可以直接切换到android支持的最新的kernel版本2.6.36,即

luther@gliethttp:~/common$git checkout android-2.6.36

  android-2.6.27

* android-2.6.36

  remotes/origin/HEAD -> origin/android-2.6.27

  remotes/origin/android-2.6.25

  remotes/origin/android-2.6.27

  remotes/origin/android-2.6.29

  remotes/origin/android-2.6.32

  remotes/origin/android-2.6.35

  remotes/origin/android-2.6.36

  remotes/origin/android-goldfish-2.6.27

  remotes/origin/android-goldfish-2.6.29

好了,我们现在有了android最新的kernel源码了,

让我们先试试可不可以编译,拿最常用的s3c2410开刀.



git clean -xdf

make ARCH=arm s3c2410_defconfig

make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-



一切完毕.
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics