Android模拟器开发和调试应用比使用真机方便,而且可以修改模拟器源码,android 源码,随心所欲地模拟自己想要的设备,随心所欲地修改android 源码,甚至是更底层的linux 源码。
目录
模拟器源码下载
编译
模拟的设备
自带的一些工具:
(1)adb
(2)am
Android 模拟器源码的下载与 Android AOSP 源码库的下载过程类似。
模拟器的分支:在 https://android.googlesource.com/platform/manifest/+refs (国内上不去)可以看到所有可以指定的分支,包括 Android 分支和模拟器分支,其中模拟器分支主要有如下这些:
|
下载最新模拟器代码:
|
在国内可以使用清华源更快下载:
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b emu-master-dev
|
--no-tests
: 告诉编译系统,编译完成之后不要执行测试程序,以节省时间,提高效率模拟包括下面一些功能的ARM SoC,其中包括goldfish在内的linux内核驱动:
* ARM926ej-S CPU
* Thumb support
* MMC
* RTC
* Keyboard
* USB Gadget
* Framebuffer
* TTY driver
* NAND FLASH
当然,模拟器和真实的机子还是存在差别的,不同之处在于:
* 不支持呼叫和接听实际来电;但可以通过控制台模拟电话呼叫(呼入和呼出)
* 不支持USB连接
* 不支持相机/视频捕捉
* 不支持音频输入(捕捉);但支持输出(重放)
* 不支持扩展耳机
* 不能确定连接状态
* 不能确定电池电量水平和交流充电状态
* 不能确定SD卡的插入/弹出
* 不支持蓝牙
ADB(Android Debug Bridge)是Android 提供的一个通用的调试工具,借助这个工具,我们可以管理设备或手机模拟器的状态
在shell内使用am来加载android应用
市面上已经有不少安卓模拟器,主要分为谷歌原生,以emu系列为主,主要是采用qemu+自己修改+openGL穿透+X86虚拟化(HASM)。另外一种以面向游戏为主,