通过CMD命令行创建和使用Android 模拟器 AVD
进行Android APP测试时,若手持android手机设备稀少的情况下,我们可以通过创建Android模拟器AVD来代替模拟android手机设备,本文就具体介绍如何创建和使用AVD。
1、创建AVD
每个AVD模拟一套虚拟设备来运行Android应用程序。无论是在Eclipse下或者命令行下创建新的avd,系统会在系统默认文件路径下自动创建一个.android 文件夹,所创建的有关avd的配置信息则被保存在该.android目录下,如:
C:\Documents and Settings\Administrator\.android


1)命令行方式创建AVD
进入Android SDK目录下的tools子目录(如:D:\Android\sdk\tools)
运行:
android create avd -n SERVYOU -t 2

在创建avd文件得第二步,控制台提示“是否自定义自己得设备”,默认选项是"no",如果输入 "y",接下来可以一步步根据提示,定制自己得模拟器性能参数。

这里t代表target目标平台的Target ID,我们可以使用android list targets来查看这里t的可选参数。
如Target ID=2 对应的android 2.3.3系统平台

我们也可以查看刚刚创建的avd是否已存在,可用命令android list avd查看

上方,只是简单的创建一个avd模拟器,当然我们可以定制模拟器的特定性能参数:

选项:
-t --target 新的AVD 的Target ID(必须)
-c --sdcard 指向一个共享的SD 存储卡的路径或是为新的AVD 定制的新SD 存储卡的容量大小
-p --path 新AVD 将被创建的位置路径
-n --name 新AVD 的名称(必须)
-f --force 强制创建(覆盖已存在的AVD)
-s --skin 新AVD 的皮肤
举例如下:
将建一个名叫GPhone 的AVD,Target ID=6、SD 存储卡容量52M、路径C:\AVD\、皮肤QVGA
创建一个新的AVD:android create avd -n GPhone -t 6 -c 52M -p C:\AVD\ -s QVGA
2)开发工具创建AVD
在Eclipse中。选择Windows > Android SDK and AVD Manager。
在帖子android测试开发环境搭建中有描述过,请查看此贴。
2、创建SDcard镜像文件,模拟真实手机设备中的SDcard
进入Android SDK目录下的tools子目录,运行
mksdcard -l sdcard 512M D:\Android\sdk\tools\sdcard.img
这样就创建了一个512M的SD卡镜像文件:查看D盘,D盘的tools目录下会有一个sdcard.img 文件。

3、命令行下运行AVD时加载sdcard
进入Android SDK目录下的tools子目录,运行
emulator -avd SERVYOU -sdcard sdcard.img
注意:此处-sdcard 后跟镜像路径,因为我当前正好是在镜像当前路径,所以路径前缀省略了

输入命令后,可直接启动SERVYOU模拟器,如图

如果不想每次都加-sdcard $sdcard_path,有两个办法:
解决办法一:可以把sdcard.img 复制到C:\Documents and Settings\Administrator\.android\avd\下对应的AVD目录下。
解决办法二:修改配置文件,C:\Documents and Settings\Administrator\.android\avd\AVD_NAME.avd\,打开config.ini,加入以下行:sdcard.path=你的SD卡路径。
4、AVD路径设置
前面提到,不管用Eclipse还是从命令行创建Android Emulator时,相应的文件是被放置到 “C:\Documents
and Settings\Administrator\.android“ 下面。如果想改变AVD的路径设置,也有2个办法:
解决办法一:
新添加一个环境变量,名字为 "ANDROID_SDK_HOME”,然后把变量值改为你想将".android”文件夹(AVD信息)所放置的位置
解决办法二:
修改配置文件中的路径,比如我的AVD名称是MyAVD, 打开C:\Documents and Settings\Administrator\.android\avd目录中的文件MyAVD.ini文件,找到
target=android-5path
=C:\Documents and Settings\Administrator\.android\avd\MyAVD.avd
修改其路径即可。
遇到ERROR: unknown virtual device name 这样的问题一般是由于AVD文件路径引用错误造成的。
5、查看当前运行的模拟器/手机设备
运行adb devices,可能查看到当前连接的模拟器和设备
![]()
6、通过命令安装APK到模拟器/真机
运行 adb install APK_Path


7、通过命令卸载模拟器APK (真机若要通过命令卸载,需要有root权限)
第一种用命令uninstall
运行 adb uninstall APK_Package_name,如上图‘移动电子税务局’的包名为cn.com.servyou.xj
则运行adb uninstall cn.com.servyou.xj

第二种进入模拟器操作系统,通过lunix命令删除(不过此方法会造成APK清理不干净,有残余数据)
adb shell (进入模拟器自带的操作系统)
cd data/app (切换到apk的安装目录)
rm ***.apk (用Eclipse切换到DDMS的File Explorer中查看,data/app下)

如运行rm cn.com.servyou.xj-1.apk,则可删除‘移动电子税务局’APK包
此时再次运行ls,cn.com.servyou.xj-1.apk包名没有了

第三种,可以再模拟器/真机上直接删除,无需命令,非常简单
进入Setting -> Applications -> Manage applications -> 移动电子税务局 -> Uninstall,就可以直接删除了

通过CMD命令行创建和使用Android 模拟器 AVD的更多相关文章
- 学习笔记-使用cmd命令行创建nodejs项目
使用cmd命令行创建nodejs项目 1)在DOS下cd 进入到你想要创建项目的路径. 2)mkdir sing (创建一个sing文件夹) 3)cd sing 4) npm init (初始化工程 ...
- 用cmd命令行创建vue项目模板
1.进入cmd命令行 输入存放项目的位置 2.通过vue create 项目名称 创建项目 3.选择Manually select features 4.通过空格选中第1.2.5.6.7.去掉8 4. ...
- mysql cmd命令行 创建数据库 表 基础语句
一.连接MYSQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1. 连接到本机上的MYSQL. 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u roo ...
- 【Android测试】【随笔】在手机里用命令行创建中文文件夹
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/4580319.html 不知道为啥当时自己写了一段在手机里用 ...
- 在cmd命令行使用Maven Archetype插件 generate命令创建简单的java web项目
前提: 1.下载apache-maven:https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache ...
- 命令行创建Android应用,生成签名,对APK包签名并编译运行
一.命令行创建Android应用 android create project -n HelloWorld -t android-22 -p HelloWorld1 -k org.crazyit.he ...
- 【转】使用命令行方式创建和启动android模拟器
原文网址:http://blog.csdn.net/tiandinilv/article/details/8953001 1.Android模拟器介绍 Android中提供了一个模拟器来模拟ARM核的 ...
- [APP] Android 开发笔记 001-环境搭建与命令行创建项目
1. 安装JDK,SDK JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html Android SDK http ...
- 命令行创建Android应用,命令行生成签名文件,命令行查看签名信息,对APK包签名并编译运行
一.命令行创建Android应用 android create project -n HelloWorld -t android-22 -p HelloWorld1 -k org.crazyit.he ...
随机推荐
- Rsync的配置与使用
一.介绍 (不想看直接可以跳过) Rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.Rsync本来是用以取代rcp的一个工具,它当前由 rsync.samba.org维护 ...
- 什么是BI(Business Intelligence)
一.BI的定义 BI是Business Intelligence的英文缩写,中文解释为商务智能,用来帮助企业更好地利用数据提高决策质量的技术集合,是从大量的数据中钻取信息与知识的过程.简单讲就是业务. ...
- 【243】◀▶IEW-Unit08
Unit 8 Environment I. 不定式(to do)在雅思写作中的运用 1)名词 • 主语(句首) To protect the environment is everyone's dut ...
- CF-845A
A. Chess Tourney time limit per test 1 second memory limit per test 256 megabytes input standard inp ...
- ASPNET session客户端与服务…
除非程序通知服务器删除一个session,否则服务器会一直保留,程序一般都是在用户做log off的时候发个指令去删除session.然而浏览器从来不会主动在关闭之前通知服务器它将要关闭,因此服务器根 ...
- Fluuter常遇到的问题
The ADB binary found at XX is obsolete and has seriousperformance problems with the Android Emulator ...
- TSubclassOf的一些说明
注:补充下SpawnActor的用法 TSubclassOf<AActor> TS = LoadClass<AActor>(NULL, TEXT("Blueprint ...
- 洛谷P3572 [POI2014]PTA-Little Bird
P3572 [POI2014]PTA-Little Bird 题目描述 In the Byteotian Line Forest there are nn trees in a row. On top ...
- c语言中的switch case语句
switch--case语句中,switch后面跟一个变量,这个变量不可以是字符数组,字符指针,字符串数组,浮点型(实型).它可以是整型,字符型(在本质上也是整型).所以这导致case后面的常量表达式 ...
- G.点我
链接:https://ac.nowcoder.com/acm/contest/903/G 题意: X腿与队友到河北省来参加2019河北省大学生程序设计竞赛,然而这场比赛的题目难度实在是太高了.比赛开始 ...