自己编译android sdk

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

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

我们就写个小脚本让电脑自动reposync,直到下载成功为止:
#!/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
makesdk

漫长的等待之后,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地址。
mkdirkernel
cdkernel
gitclone git://android.git.kernel.org/kernel/common.git
切换到android-goldfish-2.6.29分支:
git branch -b android-goldfish-2.6.29origin/android-goldfish-2.6.29
编译kernel
cdcommon
makeCROSS_COMPILE=arm-none-linux-gnueabi- ARCH=armgoldfish_defconfig
然后复制 mydroid\kernel\common\arch\arm\boot\zImage到自己编译的SDK的image目录下,覆盖kernel-qemu

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


---------------------------------

Android 虚拟机运行自己编译的SDK

可以修改SDK 的 image 文件,让这些image 直接到自己编译的image 目录下面,这样可以在模拟器中直接运行自己修改、编译的image 文件了。 在修改代码之后,要执行 make sdk 来编译生成新的SDK。

  我使用的android 的版本是 1.6 的,故做如下修改使得模拟器所用的image 为编译生成的image。

  1. 到 android-sdk-windows/platforms/android-1.6 目录下把 “data", "images", "templates", "samples" 四个目录重新改个名字。

  2. 在创建软连接到这四个目录:

ln -s /myandroid/out/host/linux-x86/sdk/android-sdk-eng/platforms/android-1.6/samples samples

ln -s /myandroid/out/host/linux-x86/sdk/android-sdk-eng/platforms/android-1.6/images/ images

ln -s /myandroid/out/host/linux-x86/sdk/android-sdk-eng/platforms/android-1.6/templates templates
ln -s /myandroid/out/host/linux-x86/sdk/android-sdk-eng/platforms/android-1.6/data/  data
 这样就可以直接用虚拟机来运行自己修改编译的image 文件了。



Hi3716C Android SDK编译说明

Hi3716C Android SDK 编译流程。以 Hi3716CV100R002C00SPC008(非商用) 为例。使用 Ubuntu(版本号>=10.04)。假定所有的依赖软件已安装完毕。 1...

自己编译的android sdk无法识别各版本platform的问题

今天编译了android 2.3源码,即gingerbread。源代码是通过"repo init -u git://android.git.kernel.org/platform/manifest.g...

Android SDK 源代码编译

1. 环境 Ubuntu 10.04 32-bit sudo apt-get install git-core sudo apt-get install curl sudo apt-g...

Android SDK 源代码编译

1. 环境 Ubuntu 10.04 32-bit sudo apt-get install git-core sudo apt-get install curl sudo apt-g...
  • sshhbb
  • sshhbb
  • 2011年10月08日 16:30
  • 635

android sdk, adt编译问题

android sdk, adt编译问题

Haisi3716 -- android sdk adt 编译

最近 在使用海思3716C开发版。我在编译的时候 sdk ,adt遇到的问题,如下:   我的环境是:ubuntu10.04   注:使用一下命令前,记得先执行 envsetup.sh脚...

编译windows下的android SDK 杯具的经过

先转个:http://blog.csdn.net/chenyongxinglove/archive/2011/01/27/6167080.aspx开始还弱弱的以为Cygwin是linux下的一个工具呢...

android sdk 编译出有root权限的系统

先简单说明一下状况: 1.使用硬件说明: giec r1 电视盒 2.android sdk 来源: 厂商提供 到手杰科的电视盒,拆开来有串口可以输出信息,其有三个usb口,连接...

全志H3Android SDK开发环境搭建和编译异常问题整理

编译内核时候出现: 1."mkimage" command not found - U-Boot images will not be built     安装: sudo apt-get insta...

Android sdk 编译及linux和windows 模拟器启动总结

1.编译 只需要编译 source build/envsetup.sh lunch full-eng make 完成之后,再编译 linux sdk 版本:编译命令...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:自己编译android sdk
举报原因:
原因补充:

(最多只允许输入30个字)