创建安卓模拟器有以下两种方式:

1>通过图形界面创建,在Eclipse中单击Windows->Android Virtual Device Manager启动图形界面窗口

2>如果用的不是Eclipse,则可以切换到~/tools/文件夹,在终端执行"android avd",单击Create 按钮,则可以创建一个新的模拟器。

2.使用镜像功能加快模拟器的启动速度。

  也许你在启动Android模拟器重新启动的速度很慢,因此新增了一个保存和恢复模拟器状态的镜像功能,用以加快模拟器重启的速度。镜像功能是将整个模拟器进程中的内存保存到硬盘中,从镜像恢复的过程实际上是将原先保存在硬盘中的内存文件恢复到模拟器进程的内存中。其跳过了模拟器启动和初始化的步骤,故启动速度变快。

  首先需要编辑模拟器配置以启动该功能,在模拟器列表中选择要设置的模拟器,并单击"Edit”按钮编辑它,找到Snapshot(上图中红色框出部分)并勾选,如果需要重启模拟器则需要在Launch Options对话框勾掉下图中的两个选项,这样就不是从镜像中恢复,而是从头启动模拟器了。

3.通过命令行创建模拟器

  在大规模自动化测试中,通过图形界面创建显然费时费力,因此可以用命令行去创建。且在Android中,图像界面和命令行界面均由同一个程序android创建,所不同的是,如果向android传递一个avd参数,如下:android avd,则会启动图形界面,使用其他参数则通过命令行界面。

1)打卡终端,切换到tools目录下。

2)在创建之前需要指明模拟器的Android系统版本,在Android SDK工具包中,每个Android系统都被分配了一个标识号,,这个标识号,可以通过"android list target”查看。

其中是id:2表示Android 5.0.1这个版本的标识号是2,Type:Platform表明这个一个标准的Android版本,没有外挂任何其他组件,如果Type的值是Add-On,表明这是一个其他Android设备厂商定制的版本,附有一些额外的组件。

3)命令行创建AVD: android create avd -n <模拟器名称> -t <目标Android系统标识号> [-<选项><选项的值>]

假如创建过程中出现如下图的错误提示,仔细看是需要假如--abi选项,加上之后如图所示,且如果你选择的是一个Type: Platform(标准的Android系统)则会询问硬件配置情况,如果需要定制则输入yes,否则就直接回车,默认不需要特别定制,稍等之后模拟器就创建好了。

4)可以用"android list avd"查看模拟器。

5)Android命令会在宿主机上创建一个专用的文件夹来存放模拟器的信息,包括模拟器的配置文件、用户数据以及虚拟SD卡等。这个文件夹不包含Android系统文件,而是通过在配置文件中指明目标系统标识号,这样模拟器启动时会自动从Android开发工具包中加载系统镜像。

  Android命令还在目录.android/avd下为新的模拟器创建以模拟器名称命名的.ini文件,该文件指明了模拟器配置文件的保存地址。WIN7默认放在C:\Users\<user>\.android\下。

此ini文件的保存位置可以在创建模拟器时用-p 来指定。

  一个AVD(Android Virtual Device)有以下这些部分组成:

1>硬件配置:例如,是否配有相机,是否配有物理键盘,多大内存等。

2>软件配置:定义了模拟器上运行的Android平台的版本,既可以指定标准的Android版本,也可以是定制的Android系统。

3>外观配置:定义模拟器使用的皮肤,通过皮肤控制模拟器的屏幕物理尺外观,还可以指定模拟器使用的虚拟SD卡。

4>在宿主机上的存储区域:模拟器上的用户数据和虚拟SD卡都存储在这个地方。

6)Android的其他命令

android move avd -n <模拟器名称> -p <要移动到的目录>

  移动模拟器命令:此<要移动到的目录>无须提起创建,执行命令的同时,执行创建操作。

android move avd -n <模拟器名称> -r <模拟器新的名称>

  重命名模拟器

android delete avd -n <模拟器名称>

  删除模拟器,同时删除相应模拟器的配置文件、用户数据及虚拟SD卡等数据。

android -h

  查看Android命令

android -h <子命令>

  查看各个子命令的使用方法

附加:

emulator -avd <模拟器名称> -memory 512 &

  启动模拟器,同时指定内存大小,否则使用默认设置。

adb -e shell cat /proc/meminfo

  查看模拟器内存大小,可以修改.android\模拟器名称\config.ini文件中hw.ramSize的值或者创建模拟器时指定比较大内存。

  假如模拟器启动之后,无法关闭,则参照一下办法杀死模拟器进程。使用"ps aux | grep emulator",列出模拟器进程,并用"kill -9 <进程ID>"杀死模拟器进程。

  可以同时启动多个Android模拟器,且每个模拟器都在新开一个端口开与宿主机上的开发工具通讯,这个端口号显示在模拟器进程的标题栏上,且通过"telnet localhost <模拟器端口号>"连接模拟器,输入help会显示所有命令。

转载于:https://www.cnblogs.com/yajing-zh/p/4571727.html

创建安卓模拟器的两种方式及常用Android命令介绍相关推荐

  1. 有效创建Oracle dblink的两种方式

    有效创建Oracle dblink的两种方式 两台不同的数据库服务器,从一台数据库服务器的一个用户读取另一台数据库服务器下的某个用户的数据,这个时候可以使用dblink. 其实dblink和数据库中的 ...

  2. Oracle创建Database Link的两种方式

    Oracle数据库如何创建Database Link呢?本文我们主要就介绍一下这部分内容,Oracle数据库创建Database Link有两种方式,一种是通过菜单,一种是通过SQL. 创建一个dbl ...

  3. python创建多线程_Python 多线程,threading模块,创建子线程的两种方式示例

    本文实例讲述了Python 多线程,threading模块,创建子线程的两种方式.分享给大家供大家参考,具体如下: GIL(全局解释器锁)是C语言版本的Python解释器中专有的,GIL的存在让多线程 ...

  4. Unity编辑器开发——通过模板创建Lua脚本的两种方式(二)

    个人学习笔记,如有错误.疑问.建议,欢迎留言. 本文有关代码转载自:Unity3D 扩展编辑器实现创建Lua脚本 - 知乎 (zhihu.com) 声明:本文转载已取得原文章作者同意,有兴趣的可以关注 ...

  5. 利用反射机制创建新类的两种方式及比较

    [0]README 0.1) 本文描述+源代码均 转自 http://blog.csdn.net/fenglibing/article/details/4531033 , 旨在深入理解 如何利用反射机 ...

  6. 保姆级swap分区详解!手把手带你创建swap分区(两种方式,建议收藏)涉及fdisk、gdisk、df、parted、partprobe、mkswap、swapon、free、dd、od等命令

    Swap分区的详解 && 创建 什么是swap分区? 方法一:使用物理分区创建Swap分区 1. 利用fdisk / gdisk在磁盘上划出一个分区 1.1 lsblk -- 查看本机 ...

  7. 7种方法检测安卓模拟器_两种不同的模拟方法

    7种方法检测安卓模拟器 无论您选择采用TDD还是采用更传统的方法,都将单独测试类. 这通常意味着您使用接口进行编码,并将依赖项注入类中. 去年,我不得不测试一个servlet. Servlet是展示容 ...

  8. spring boot controller 初始化_使用 Spring 快速创建 web 应用的两种方式

    介绍 本篇文章主要介绍,如何使用 Spring 开发一个 Web 应用. 我们将研究用 Spring Boot 开发一个 web 应用,并研究用非 Spring Boot 的方法. 我们将主要使用 J ...

  9. Unity编辑器开发——通过模板创建Lua脚本的两种方式(一)

    个人学习笔记,如有错误.疑问.建议,欢迎留言. 声明:本文不得以任何形式进行转载.  前言:在Unity编辑器的Project界面,可以直接右键创建C#脚本,而目前许多游戏公司使用的是tolua.xl ...

最新文章

  1. 素数问题是物质的几何学问题
  2. python爬虫urllib文档_11.【文本】Urllib(下) - 零基础学习Python爬虫系列
  3. cdrx4被禁用怎么解决_双显卡怎么切换到独立显卡
  4. linux c语言中如何通过进程名获取进程PID(awk命令行指令)popen、pclose
  5. JS获取浏览器高度 并赋值给类
  6. 全志A20单独烧录内核
  7. 乱谈卡巴CCTV黄金时段广告
  8. 如何使用mock应对测试所需随机数据
  9. centos7.2下查看的java版本号
  10. git(4)---Git、Repo、Gerrit三者的区别
  11. Python基于值的内存管理真相
  12. 20210530:力扣第53场双周赛题解
  13. ElementUI文档中忽略的内容补充
  14. 电路板的信号完整性问题及原因
  15. VOSviewer | (二)入门-分析web of science
  16. GLASS数据的批量下载(以植被覆盖度FVC为例)
  17. 分享美容护肤门店预约下单小程序开发制作功能介绍
  18. 【模型库】大卡车货车 集装箱 叉车 三维模型
  19. 平年和闰年c语言程序,C语言平年,平年闰年问题
  20. Hive数据分析实验报告

热门文章

  1. 【Linux系统编程】进程和线程的区别
  2. 【Linux】一步一步学Linux——enable命令(212)
  3. 谷歌浏览器首页被改hao123_百度浏览器停更?今日头条、微博谁将获利?
  4. h2 不能访问localhost_个人学习系列 - Spring Boot 整合 H2
  5. 自己的总结(你必须知道的C 495个问题)
  6. TCP/IP学习笔记(六)Nagle算法
  7. 高并发C/S的TCP版本golang实现
  8. 合并K个排序链表—leetcode23
  9. java-初识JVM的内存分配(5个区域)概念--系列(一)
  10. 浅谈数据结构和数据类型