Android的emulator和ADB工具使用

Ubuntu系统(配置好SDK环境变量)终端:

一、关于 emulator

1、列出当前可用的SDK版本

android list target  



2、创建Android虚拟机

android create avd -n <name> -t <targetID> [-<option> <value>] ...   

android create avd –target 1 –name myavd 



3、启动一个Android模拟器

emulator -avd <avd_name>  


如果不想继续定制AVD设备,直接按回车即可。如果想定制AVD设备,输入y,然后按回车。系统会按步提示该如何设置。中括号内是默认值,如果某个设置项需要保留默认值,直接按回车即可。


4、列出所有AVD设备

android list avds



5、为模拟器加上SD卡

创建一个容量为1G的SD卡:mksdcard 1024M ~/Desktop/sdcard.img

emulator -sdcard ~/Desktop/sdcard.img -avd avdTest


6、模拟器拨号发短信

telnet localhost 5554

gsm call 15555218135

sms send 15555218135 Hello,this is a Message


7、详细列表

类型 选项 描述 注释
帮助 -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>目录下查找皮肤  

二、关于adb

1、查看adb版本信息

adb version 


2、安装apk
adb install filename.apk (安装filename.apk)
adb install -r filename.apk (保留已设定资料,重新安装filename.apk)
adb -s emulator-5554 install filename.apk (指定安装APK在5554的Android模拟器中)


3、移除apk
adb uninstall package
adb uninstall -k package (移除时,保留资料)
此package名称不是安裝apk时的文件名或显示在模拟器中的应用程序名
可以先到/data/data或data/app目录下,查询想移除的package名称

adb shell

ls /data/data 或 /data/app (查询package名称)
exit
adb uninstall package (移除查询到的package)

卸载软件: adb shell rm /data/app/

补充一点,通过adb安装的软件(*.apk)都在"/data/app/"目录下,所以安装时不必制定路径,卸载只需要简单的执行"rm"就行


4、查询当前运行的模拟器实例数量:

adb devices


5、计算机与模拟器之间互相复制文件:

从计算机复制到模拟器:adb push

从模拟器复制到计算机:adb pull

前提是启动了一个模拟器。

例如,将D盘根目录下的test.txt拷贝到模拟器的sdcard:

再将这个文件复制到计算机E盘根目录下:


6、设置APK程序默认安装在Android模拟器的SD卡或者手机内存:

默认安装在手机内存:adb shell pm setInstallLocation 1

默认安装在SD卡:adb shell pm setInstallLocation 2


7、端口转发

adb forward adb forward tcp:5555 tcp:1234 将默认端口TCP 5555转发到1234端口上


8、adb start-server与adb kill-server

模拟器在运行一段时间后,adb服务有可能(在Windows进程中可找到这个服务,该服务用来为模拟器或通过USB数据线连接的真机服务)会出现异常。这时需要重新对adb服务关闭和重启。当然,重启Eclipse可能会解决问题。但那比较麻烦。如果想手工关闭adb服务,可以使用命令adb kill-server。在关闭adb服务后,使用命令adb start-server启动adb服务。


9、am指令

拨打电话:adb shell am start -a android.intent.action.CALL -d tel:10086 


三、其他

在开发Android应用时,有时会要连接本地服务器,我们可能会首先想到用loaclhost或127.0.0.1等。这是不对了。因为模拟器是一个相对独立的系统,在模拟器中运行的程序用loacalhost或127.0.0.1将会连接模拟器本身。而不是你的本地计算机。

如果想要在模拟器中连接本地计算机可使用10.0.2.2这个IP。

即:模拟器中访问10.0.2.2 相当于访问本机localhost 

发布了40 篇原创文章 · 获赞 5 · 访问量 8万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览