编译自己的android SDK和模拟器

编译Linux下的android SDK和模拟器

和前面编译android源码一样,首先执行envsetup.sh,然后选择SDK对应的产品。

这里要强调一下,当我们使用lunch 列举android源码支持的产品的时候,是看不到有SDK相关的信息的,至少我的是看不到。

不过没关系,直接执行命令即可

 

lunch sdk-eng

 

会看到下面的信息

 

 

接着执行命令

make sdk -j2

这里一定要记住-j后面的数字不要太大了,最多是几G内存,后面设置的数字就为几,只能比这个数字小。

接着又是漫长的等待。

大约七八分钟后,会出现一个错误

 

make: *** [out/target/common/docs/online-gcm-ref-timestamp] 错误 45

 

如下图所示

 

解决办法是:

在android源码目录中/frameworks/base目录下执行

 

git revert 5f9922d7c3bce158e4c7a58929d4075e7c91e32e

不一会儿会出现

 

执行ctr+x离开,然后出现下图所示,表明恢复成功。

 

然后返回android源码根目录,重新编译SDK,执行命令

 

make sdk -j2

 大约半个小时后,编译结束,会在out\host\linux-x86中生成一个SDK文件夹,里面包括了android APP开发所需的帮助文档,模拟器等等

 

同时在out\target\product\generic也会生成一个压缩包

 

 

接下来配置一些环境变量,将下面的内容添加到/etc/profille中,并执行source /etc/profile,使其生效

 

export PATH=/home/android/myandroid/out/host/linux-x86/bin:$PATH
export PATH=/home/android/myandroid/out/host/linux-x86/sdk/android-sdk_eng.android_linux-x86/tools:$PATH

 

上面的环境变量生效后,我们就可以使用下面的命令创建模拟器了

首先查看我们编译出来的SDK版本

执行(必须在ubuntu系统中执行,不要远程登录执行)

android  list targets

 

然后创建一个名为myandroid的模拟器

android create avd -n myandroid -t 1

其中myandroid是模拟器的名字,1 是该源码支持的第一个SDK版本

接着执行

 

emulator -avd myandroid &

 

就可以看到我们编译的模拟器了,该模拟器使用的就是我们前面编译的android系统镜像

 

编译windows上的android模拟器

首先执行envsetup.sh,然后选择SDK对应的产品。

lunch sdk-eng

然后执行

make win_sdk -j2

这里要注意一定要现编译Linux版本的SDK,然后在编译windows版,在虚拟机中大约是十分钟。

生成的SDK路径在out\host\windows\sdk中

 

将其复制到windows中,解压

 

 

新建一个模拟器

然后启动模拟器

 

邪门了,怎么没键盘了。。。。

 

posted on 2014-12-05 22:39  阿释密达沙加  阅读(2352)  评论(0编辑  收藏  举报

导航