您的位置:首页 > 移动开发 > Android开发

编译自己的android SDK和模拟器

2014-12-05 22:39 155 查看

编译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中,解压



新建一个模拟器



然后启动模拟器



邪门了,怎么没键盘了。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: