编译并运行Android4.0模拟器

  次阅读 作者:智能小宝 来源:互联网 2016-01-14 14:59 我要评论(0)

1. 编译Android模拟器

在Ubuntu下,我们可以在源码里编译出自己的模拟器及SDK等编译工具,当然这个和在windows里下载的看起来没有什么区别。

编译Android模拟器的步骤和编译Android系统很相似:

source build/envsetup.sh

lunch sdk-eng

make sdk

在每次执行make的时候,编译系统会自动的验证上次编译项和这次编译项,如果两次不一样,会删除所有的目标代码,其实现在./build /core/main.mk

71 # This allows us to force a clean build - includedafter the config.make

72 # environment setup is done, but before we generateany dependencies. This

73 # file does the rm -rf inline so the deps which areall done below will

74 # be generated correctly

75 include $(BUILD_SYSTEM)/cleanbuild.mk

我们将第75行注释掉,这样就不会每次都自动删除上次编译的中间代码重新编译了。

编译完之后效果如下图所示:

sdk安装在了下面的目录里:

WORKING_DIRECTORY/out/host/linux-x86/sdk

在该目录下有一个压缩包,里面就是我们从eclipse里更新下载指定Target的sdk包。

如果你做过app开发都会知道,我们只有下载了不同版本的sdk之后才能创建不同版本的模拟器。当我们编译完sdk之后就可以创建并运行 Android4.0的模拟器了。

$ cd WORKING_DIRECTORY/out/host/linux-x86/sdk/android-sdk_eng.linux_linux-x86/tools

首先,查看当前编译出来的sdk的id号,用于创建一个模拟器:

$ ./android list targets

Available Android targets:

----------

id: 1 or "android-14"

Name:Android 4.0

Type:Platform

API level:14

Revision: 2

Skins:WXGA800, WQVGA400, WXGA720, HVGA, WVGA854, WQVGA432, WVGA800 (default), QVGA,WSVGA

ABIs : no ABIs.

创建一个模拟器

$ ./android create avd -n mydroid -t 1

注:-n 表示指定模拟器的名字, -t表示指定创建模拟的版本id

启动模拟器

$ ./emulator -avd mydroid &

由于模拟器要启动android系统,它要使用几个映像文件,分别是:kernel-qemu , system.img, userdata.img, ramdisk.img

kernel-qemu:内核映像文件,它是linux操作系统针对qemu模拟器编译的内核文件,里面安装有qemu的仿真硬件驱动,如果将来在开发板 或手机上移植android,那么,第一步就是要先make出一个支持开发板或手机的kernel来。

system.img:是android系统的文件系统,里面包含了android系统的应用程序(apk),系统用到的各种库(jar, so, a)和资源,配置文件(etc目录下),系统命令(bin,usr/bin, xbin),该映像文件是由out/target/product/PRODUCT/system目录打包生成的,我们可以对这个目录里的东西进行定制 化,比如,你要想让android系统默认为安装一个应用程序,那么可以将要安装的apk文件拷贝到out/target/product /PRODUCT/system/app目录下

userdata.img:用户数据映像,里面包含有程序安装信息,好比如是windows的C:/Program Files/目录

ramdisk.img:内存磁盘映像,这个文件对于没有做过Linux移植的人来说,不好理解,linux内核启动起来,要挂载一个文件系统作为自己的 根文件系统,通常文件系统是存放在块设备上的,也就是硬盘或flash上的,里面含有Linux内核启动过程中依赖的一些程序和配置文件,前面所述的 userdata.img和system.img映像,在linux系统启动起来后挂载到其data,system目录下。

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...