android 模拟器介绍

Android模拟器开发和调试应用比使用真机方便,而且可以修改模拟器源码,android 源码,随心所欲地模拟自己想要的设备,随心所欲地修改android 源码,甚至是更底层的linux 源码。

目录

模拟器源码下载

编译

模拟的设备

自带的一些工具:

(1)adb

(2)am


 


模拟器源码下载

Android 模拟器源码的下载与 Android AOSP 源码库的下载过程类似。

模拟器的分支:在 https://android.googlesource.com/platform/manifest/+refs (国内上不去)可以看到所有可以指定的分支,包括 Android 分支和模拟器分支,其中模拟器分支主要有如下这些:

  • emu-1.4-release
  • emu-1.5-release
  • emu-2.0-release
  • emu-2.2-release
  • emu-2.3-release
  • emu-2.4-arc
  • emu-2.4-release
  • emu-2.5-release
  • emu-2.6-release
  • emu-2.7-release
  • emu-2.8-release
  • emu-29.0-release
  • emu-3.0-release
  • emu-3.1-release
  • emu-gn-dev
  • emu-master-dev
  • emu-master-qemu
  • emu-master-qemu-release

下载最新模拟器代码:

 repo init -u https://android.googlesource.com/platform/manifest -b emu-master-dev

在国内可以使用清华源更快下载:

 repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b emu-master-dev

编译

cd external/qemu/android/
./rebuild.sh --no-tests
  • --no-tests: 告诉编译系统,编译完成之后不要执行测试程序,以节省时间,提高效率

模拟的设备

模拟包括下面一些功能的ARM SoC,其中包括goldfish在内的linux内核驱动:

* ARM926ej-S CPU

* Thumb support

* MMC

* RTC

* Keyboard

* USB Gadget

* Framebuffer

* TTY driver

* NAND FLASH

当然,模拟器和真实的机子还是存在差别的,不同之处在于:

* 不支持呼叫和接听实际来电;但可以通过控制台模拟电话呼叫(呼入和呼出)
    * 不支持USB连接

* 不支持相机/视频捕捉

* 不支持音频输入(捕捉);但支持输出(重放)

* 不支持扩展耳机

* 不能确定连接状态

* 不能确定电池电量水平和交流充电状态

* 不能确定SD卡的插入/弹出

* 不支持蓝牙

自带的一些工具:

(1)adb

ADB(Android Debug Bridge)是Android 提供的一个通用的调试工具,借助这个工具,我们可以管理设备或手机模拟器的状态

(2)am

在shell内使用am来加载android应用

各种安卓模拟器对比:

市面上已经有不少安卓模拟器,主要分为谷歌原生,以emu系列为主,主要是采用qemu+自己修改+openGL穿透+X86虚拟化(HASM)。另外一种以面向游戏为主,

 

你可能感兴趣的:(Android,模拟器)