自己编译android sdk



如果没有真正开发板,又想深入到android framework里,或kernel里的话,就只能用android 的emulator了。 但是我们下载的android SDK没有源代码,我们没办法跟踪修改framework和kernel里的东西。
所以有了想尝试自己从头生成SDK的想法。

1. 首先下载编译android所有source code. 
具体步骤这里不再赘述,参考 http://source.android.com/download
cd mydroid
repo init -u git://android.git.kernel.org/platform/manifest.git
repo sync
一点小提示: 有时候google的android服务器老是断,总不能让我们守在电脑旁边一直手工重新repo sync吧,这可是需要N个小时才能下载完的啊。

我们就写个小脚本让电脑自动repo sync,直到下载成功为止:
#!/bin/sh
count=0
ret=1
while [ $ret -ne 0 ]
do
repo sync
ret=$?
count=$(( $count + 1))
echo "try $count, ret: $ret"
done
echo "try $count, ret: $ret"
把上面的内容复制到一个文件里tryrepo.sh
然后修改tryrepo.sh的属性,开始自动工作吧。第二点早上应该就大功告成了
chmod a+x tryrepo.sh
./tryrepo.sh

2. 编译android, 生成SDK
make sdk

漫长的等待之后,SDK生成了,在目录:mydroid\out\host\linux-x86\sdk\android-sdk_eng.yanbin_linux-x86\platforms\
在linux下面可以直接运行mydroid\out\host\linux-x86\sdk\android-sdk_eng.yanbin_linux-x86\tools\android 就可以看到熟悉的android emulator启动界面。

如果想在windows XP下使用这个SDK和emulator, 最简单的方法是:
(1)自己下载一个最新的windows版本的android 2.0 SDK。
(2)把mydroid\out\host\linux-x86\sdk\android-sdk_eng.yanbin_linux-x86\platforms\下的东西复制到windows版SDK的platforms下。
(3) 然后把platforms下android-2.0下tools目录下的几个.exe文件复制到自己编译的SDK目录下的tools目录下。


3. 下载编译emulator的kernel
从http://android.git.kernel.org找到kernel的git地址。
mkdir kernel
cd kernel
git clone git://android.git.kernel.org/kernel/common.git
切换到android-goldfish-2.6.29分支:
git branch -b android-goldfish-2.6.29 origin/android-goldfish-2.6.29
编译kernel
cd common
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm goldfish_defconfig
然后复制  mydroid\kernel\common\arch\arm\boot\zImage 到自己编译的SDK的image目录下,覆盖kernel-qemu

好了我们可以启动我们自己编译的SDK和kernel了。
用"android-sdk-windows\SDK Setup.exe"在自己的SDK上创建一个虚拟机myavd。
运行之,从log看到我们的kernel成功运行。
android-sdk-windows\tools>emulator.exe -avd avd_git -show-kernel
Uncompressing Linux.............................................................
............................. done, booting the kernel.
Initializing cgroup subsys cpu
Linux version 2.6.29-00255-g7ca5167 (xocyan@ubuntu-omap3) (gcc version 4.3.2 (So
urcery G++ Lite 2008q3-72) ) #1 Mon Nov 23 10:34:23 CST 2009


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值