Android 模拟器ndroid  SDK 自带一个移动设备模拟器 — 它是一个可以运行在你电脑上的虚拟设备.  Android 模 拟器可以让你不需使用物理设备即可预览、 开发 和测试Android应用程序.
Android模拟器能够模拟除了接听和拨打电话外的所有移动设备上的典型功能和行为. 如右图所示, Android模拟器提供了大量的导航和控制键,你可以通过鼠标或键盘点击这些按键来为你的应用程序产生 事件. 同时它还有一个屏幕用于显示Android自带应用程序和你自己的应用程序.
为了便于模拟和测试应用程序, Android模拟器允许你你的应用程序通过Android平台服务调用其他程 序、访问网络、播放音频和视频、保存和**数据、通知用户、渲染图像过渡和场景.
Android模拟器同样具有强大的调试能力,例如能够记录内核输出的控制台、模拟程序中断(比如接受 短信或打入电话)、模拟数据通道中的延时效果和遗失。
下面的章节将提供关于模拟器的详细信息,以及如何在开发应用程序中使用模拟器。

启动和关闭模拟器

要启动Android模拟器,首先进入 SDK 的 tools/ 文件夹,然后输入  emulator  或  ./emulator 。这个操作将初始化Android系统,你将会在屏幕 上看到模拟器窗口。
要关闭模拟器,只需要关闭模拟器窗口即可。

操作模拟器

你可以通过模拟器的启动选项和控制台命令来控制模拟环境的行为和特性。一旦模拟器启动,你就可以通过键盘和鼠标来”按” 模拟器的按键,从而操作模拟器。
下面的表格总结了模拟器按键可键盘按键之间的映射关系。

模拟器按键 键盘按键
后退 ESC
菜单 F1 或 PgUp
开始 F2 或 PgDn
呼叫 F3
挂断 F4
F5, F6 未分配
电源按键 F7
禁用/启用所有网络 F8
开始跟踪 F9 (当且仅当有-trace标记时有效)
停止跟踪 F10 (当且仅当有-trace标记时有效)
主页 HOME
方向键 左/上/右/下 小键盘 4/8/6/2
方向键 中心建 小键盘 5
调低音量 小键盘 负号(-)
调高音量 小键盘 加号(+)

模拟器启动选项

Android模拟器提供了很多启动选项,你可以在启动模拟器时指定,来控制其外观和行为。下面是用命 令行的方式启动模拟器并指定参数的语法:

  • emulator [-option [value]] ... [-qemu args]

下表总结了所有有效的选项。

类型 选项 描述 注释
帮助 -help 以列表的形式打印模拟器的所有命令  
数据 -data [file] 使用<file>当作用户数据的磁盘镜像 如果没有-data,模拟器会在~/.android (Linux/Mac) 或C:\Documents and Settings\<user>\Local Settings\Android (Windows)中查找文件名为”userdata.img”的文件。 
如果使用了-data <file>但<file>不存在,模拟器会在那个位置创建一个文件
-ramdisk <file> 使用<file>作为RAM镜像 默认值为<system>/ramdisk.img
-sdcard <file> 使用<file> 作为SD卡镜像 默认值为<system>/sdcard.img
-wipe-data 启动前清除用户磁盘镜像中的所有数据(参考-data)  
调试 -console 允许当前中断使用控制台Shell  
-debug-kernel 将内核输出发送到控制台  
-logcat <logtags> 允许根据给定的标签为输出分类 如果定义了环境变量ANDROID_LOG_TAGS并且不为空,
它的值将被作为logcat的默认值。
-trace <name> 允许代码剖析(按F9键开始)  
-verbose 允许详细信息输出  
-verbosekeys 允许详细输出按键信息  
媒体 -mic <device or file> 使用设备或者WAV文件作为音频输出  
-noaudio 禁用Android的音频支持 默认禁用
-radio <device> 将无线调制解调器接口重定向到主机特征设备  
-useaudio 启用Android音频支持 默认不启用
网络 -netdelay <delay> 设置网络延迟模拟的延迟时间为<delay>. 默认值是none。请参考网络延迟模拟中表”支持的<delay>值”
-netfast -netspeed full -netdelay none的快捷方式  
-netspeed <speed> 设置网速模拟的加速值为<speed>. 默认值为full。请参考网速模拟中表”支持的<speed>值”
系统 -image <file> 使用<file>作为系统镜像 默认值为<system>/system.img
-kernel <file> 使用<file> 作为模拟器内核  
-nojni
-qemu 传递qemu参数  
-qemu -h 显示qemu帮助信息  
-system <dir> 在<dir>目录下查找系统、RAM和用户数据镜像  
UI -flashkeys 在设备皮肤上闪烁按下的键  
-noskin 不使用任何模拟器皮肤  
-onion <image> 在屏幕上使用覆盖图 不支持JPEG格式图片,仅支持PNG格式图片
-onion-alpha <percent> 指定onion皮肤的半透明值(单位%). 默认值为50
-skin <skinID> 用指定皮肤启动模拟器 SDK提供了4个可选皮肤: 
QVGA-L (320×240, 风景) (默认)QVGA-P (240×320, 肖像)HVGA-L (480×320, 风景)HVGA-P (320×480, 肖像)
-skindir <dir> 在<dir>目录下查找皮肤  

使用模拟器控制台

每一个运行中的模拟器实例都包括一个控制台,你可以利用控制台动态的查询和控制模拟设备的环境 。例如,你可以利用控制台动态的管理端口映射和网络特性,还可以模拟电话时间。要想进入控制台输入 命令,你需要使用telnet连接到控制台的端口号。

你可以使用下面的命令随时随地连接到任何一个运行中的模拟器实例:

  • telnet localhost <port>

假设第一个模拟器实例的控制台使用5554端口,下一个实例使用的端口号会加2,比如5556、5558…… 等。你可以在启动模拟器是使用 -verbose 选项来检测该模拟器实例使用的端口号,在调试 输出的找到以”emulator console running on port  number “这一行。 另外, 你可 以在命令行中使用 adb devices 来查看模拟器实例和他们的端口列表。最多可以有16个模拟 器实例同时运行控制台。

注意:模拟器**端口5554-5587的来自任何电脑的连接。将来发布的版本将只接受本 机的连接,但目前,你需要用防火墙阻断外部对你开发设备的5554-5587这些端口的连接。
一旦连接上控制台, 你可以输入 help [command] 来查看命令列表和指定命令的 教程 。
要离开控制台会话, 使用 quit  或  exit  命令。
下面的章节将介绍控制台的主要功能区域。

端口重定向

你可以在模拟器运行期间添加和删除端口重定向。连接上控制台后,你可以通过下面的方法管理端口 重定向:

  • redir <list|add|del>redir

支持下表列出的子命令:

子命令 描述 注释
list 列出当前的端口重定向 (min 150, max 550)
add <protocol>:<host-port>:<guest-port> 添加新的端口重定向 <protocol> 必须是”tcp” 或 “udp”<host-port> 是主机上开启的端口号<guest-port> 是向模拟器/设备发送数据的端口号
del <protocol>:<host-port> 删除端口重定向 <protocol> and <host-port>的含义同上

网络状况

你可以利用控制台检测网络状况和当前延迟、加速特性。要想检测网络状态需要连接到控制台,使用  netstatus  命令。下面是命令和输出的例子。

  • network status

网络延迟模拟

模拟器允许你模拟多种网络延迟等级, 因此你可以在更接近真实情况的环境下测试你的应用程序。你 可以在模拟器启动时设置延迟等级或范围,也可以在模拟器运行期间通过控制台动态修改延迟。

要想在模拟启动时设置延迟,使用 -netdelay 选项,后面跟一个合法的  <delay> 值。这里给出一些例子:

  • emulator -netdelay gprs
  • emulator -netdelay 40 100

要想在模拟器运行期间动态修改网络延迟,需要连接上控制台使用 netdelay 命令,后面 跟合法的  <delay> 值。下表中列出了合法的 <delay> 值

  • network delay gprs<delay>

值的格式为下面的一种(单位为毫秒):

描述 注释
gprs GPRS (min 150, max 550)
edge EDGE/EGPRS (min 80, max 400)
umts UMTS/3G (min 35, max 200)
none 没有延迟 (min 0, max 0)
<num> 模拟一个准确的延迟(毫秒)  
<min>:<max> 模拟一个指定的延迟范围(min, max 毫秒)  

网速模拟

模拟器同样允许你模拟多种网络传输速度。你可以在模拟器启动时指定传输速度或范围,也可以在模 拟器启动后通过控制台动态修改传输速度。
要想在模拟器启动时设置网络传输速度,使用 -netspeed 选项,后面跟合法的  <speed> 值。下面是一些例子:

  • emulator -netspeed gsm
  • emulator -netspeed 14.4 80

要想在模拟器运行中动态改变网络传输速度,需要连接上控制台使用 netspeed 命令,后 面跟合法的 <speed> 值。下表中列出了合法的 <speed> 值

  • network speed 14.4 80

<speed> 值的格式为下面的一种(单位为kb/s):

描述 注释
gsm GSM/CSD (Up: 14.4, down: 14.4)  
hscsd HSCSD (Up: 14.4, down: 43.2)  
gprs GPRS (Up: 40.0, down: 80.0)  
edge EDGE/EGPRS (Up: 118.4, down: 236.8)
umts UMTS/3G (Up: 128.0, down: 1920.0)  
hsdpa HSDPA (Up: 348.0, down: 14400.0)  
full 无限制 (Up: 0.0, down: 0.0)  
<num> 设置一个上行和下行公用的准确速度  
<up>:<down> 分别为上行和下行设置准确的速度  

电话功能模拟

Android模拟器拥有自己的GSM模块允许你在模拟器上模拟电话功能。例如,你可以模拟打入电话和建 立/终止数据连接。Android系统模拟电话呼叫跟真实情况一样。这个版本暂不支持电话录音。
你可以通过控制台访问模拟器的电话功能。连接上控制台后,你可以使用

  • gsm <call|data|voice>

来调用电话功能。
gsm 命令支持下表列出的子命令。

子命令 描述 注释
call <phonenumber> 模拟来自电话号码为<phonenumber>的呼叫  
voice <state> 修改GPRS语音连接的状态为<state> 合法的<state>值为: 
unregistered — 无可用网络home — 处于本地网,无漫游roaming — 处于漫游网searching — 查找网络denied — 仅能用紧急呼叫off — 同’unregistered’on — 同’home’
data <state> 修改GPRS数据连接的状态为<state>. 合法的<state>值为: 
unregistered — 无可用网络home — 处于本地网,无漫游roaming — 处于漫游网searching — 查找网络denied — 仅能用紧急呼叫off — 同’unregistered’on — 同’home’

使用模拟器皮肤

你可以让模拟器使用下表介绍的4种皮肤之一。要想指定皮肤,在启动模拟器是使用 -skin <skinID> 选项。
例如:

  • emulator -skin HVGA-L

注意: <skinID>  必须用大写(如果你的开发设备大小敏感)。

皮肤ID 描述  
QVGA-L 320×240, 横屏 (默认)  
QVGA-P 240×320, 竖屏  
HVGA-L 480×320, 横屏  
HVGA-P 320×480, 竖屏  

Android 模拟器指令(全)相关推荐

  1. Android官方模拟器root,在Android模拟器上如何获得root权限?

    我需要在Android模拟器中获得root权限,从而使用'iptables'和'busybox'功能. 尝试安装了z4root应用程序, 但需要很长时间,且没有完成获取root就卡住了.有人说如果我们 ...

  2. 快到极致的Android模拟器——Genymotion

    转载声明:Ryan的博客文章欢迎您的转载,但在转载的同时,请注明文章的来源出处,不胜感激! :-) http://my.oschina.net/ryanhoo/blog/141824 还在用Andro ...

  3. Android模拟器入门

    要玩GPhone的模拟器,当然需要先去google上面下载Android的SDK,解压出来后在SDK的根目录下有一个tools文件夹,里面就是模拟器和一些非常有用的工具. 双击"emulat ...

  4. 【Android 逆向】Android 逆向通用工具开发 ( 网络模块开发 | SOCKET 网络套接字初始化 | 读取远程端 “Android 模拟器“ 信息 | 向远程端写出数据 )

    文章目录 前言 一.SOCKET 网络套接字初始化 二.SOCKET 网络套接 读取远程端 ( Android 模拟器 ) 信息 三.SOCKET 网络套接 向远程端 ( Android 模拟器 ) ...

  5. 如何在Android模拟器上安装和卸载APK程序包

    如何在Android模拟器上安装和卸载APK程序包 Android, 程序包, APK, 卸载, 模拟 一,安装APK          安装APK当然首先是要有模拟器,和要安装的APK包,这个不多废 ...

  6. 利用cache特性检测Android模拟器

    Author:leonnewton 0x00 序 目前对Android模拟器的检测,主要是从特定的系统值来进行区分的.例如,getDeviceId().getLine1Number()这类函数,还有a ...

  7. 安装Android模拟器Genymotion【Android学习入门】

    安装Android模拟器Genymotion 推荐教程:一个强大的Android模拟器Genymotion具体内容如下: 相信很多Android开发者一定受够了速度慢.体验差效率及其地下的官方模拟器了 ...

  8. eclipse 插件 ---Android 模拟器genymotion安装(整理)

    genymotion是一款号称速度最快性能最好的android模拟器,它基于Oracle VM VirtualBox.支持GPS.重力感应.光.温度等诸多传感器:支持OpenGL 3D加速:电池电 ...

  9. 【转】使用命令行方式创建和启动android模拟器

    原文网址:http://blog.csdn.net/tiandinilv/article/details/8953001 1.Android模拟器介绍 Android中提供了一个模拟器来模拟ARM核的 ...

最新文章

  1. MySQL · 捉虫动态 · 并行复制外键约束问题二
  2. linux 打开关闭文件,Linux系统编程-文件打开关闭
  3. 【数据结构-图】3.图的最短路径的几种算法(图解+演绎)
  4. 《Elixir in Action》书评及作者问答录
  5. Java24-day15(完结)【反射(类加载器、反射)、反射获取构造方法-成员变量-成员方法、模块化(概述、模块基本使用、模块服务使用)】
  6. ITK:计算网格上的测地距离
  7. Java案例:压缩与解压缩文件
  8. 在.net中调用vb脚本(ITpro专用的vb脚本,而不是浏览器vb脚本)
  9. c#中抽象类和接口异同
  10. 小白_Unity引擎_Console控制台
  11. 黑马程序员JUC并发教程笔记(一)
  12. 阿里云ICON全部下载
  13. 【Beyond Compare】秘钥到期解决方法
  14. HTTP请求415错误 – 不支持的媒体类型(Unsupported media type)
  15. Surface Pro 4 无限重启的解决方法
  16. OWASP十大漏洞之一
  17. 【GD32L233C-START】8、使用内部参考电压校准adc,adc采样更准确
  18. MAYA2018常用命令
  19. 计算机专英语第6版第八章翻译,计算机专业英语第八章课文翻译.doc
  20. 计算机学院实验员岗位基本知识,实验室人员职责

热门文章

  1. 一个财主的故事-----从银行复利认识无理数e
  2. 程序员常用的接单网站
  3. CentOS 傻瓜式安装 WPS
  4. jquery css3问卷答题卡翻页动画效果
  5. 机器学习入门iris数据加载
  6. java中trim函数用法_深入理解jQuery.trim() 函数及trim()用法
  7. 用IO口时注意是FT和TTa
  8. TADF材料:3-苯基喹啉[3,2,1-de]吖啶-5,9-二酮(3-PhQAD)和7-苯基喹啉[3,2,1-de]吖啶(7-PhQAD)的定制合成
  9. 逻辑学学习.6--- 命题逻辑(四):推演的简单规则
  10. 百度网盘如何倍速播放