Android Virtual Device调试步骤

来源:互联网 发布:删除数据库冗余信息 编辑:程序博客网 时间:2024/06/05 09:12

在终端通过命令行创建Android Virtual Device步骤:

(1)通过 "android list target"命令查看可用的target list:



(2)通过 "android --help create avd" 查看创建Android Virtual Device的帮助信息:



(3)以下面的target为例,创建Android Virtual Device:



创建的Android Virtual Device的版本是Android 4.3.1:

--name 指定创建的Android Virtual Device的名字: --name android431

--target 指定要使用步骤一中列出的target中的哪一个,有两种指定方式: --target 16  或者  --target android-18

--abi 指定要使用的处理器的架构,有X86,ARM和MIPS三种可供选择,通常选择ARM

其它的几个options也可以指定,但不是必须的:

android create avd --name android431 --target android-18 --abi default/armeabi-v7a

创建一个Android Virtual Device用于调试程序;


(4)Android Virtual Device创建好后,可以在终端运行emulator命令启动创建的Android Virtual Device,emulator是一个非常强大的命令,可以

通过"emulator -help"查看众多的options,可以使用自己编译的images,在options中指定,运行Android Virtual Device,也可以直接使用-avd name

指定前面创建的Android Virtual Device:

emulator -avd android431


(5)待Android Virtual Device启动完成后,便可以通过"adb shell","adb push"等命令连接Android Virtual Device,将编译完成的程序进行调试;


(6)可能遇到的问题:

a)  adb push xxx /system/bin 报错:

提示 "Out of memory" 的错误,通过"adb shell"命令我们登录运行的Android Virtual Device,在Android Virtual Device的终端中,运行"df"命令:

在/system分区中,"Free"的空间是0.0K,因此不能将xxx文件adb push到/system/bin中,

我们可以换其它的分区,另外一个常用的则是:/data/data,尝试命令:adb push xxx /data/data

能够成功完成,可以通过adb shell登录到Android Virtual Device的终端在/data/data/目录下查看到xxx文件;


b) 既然/system分区的空间不够使用,那可不可以在Android Virtual Device中模拟使用SDCard呢?答案是可以。

在Android SDK中有一个工具:mksdcard,顾名思义,就是创建虚拟SDCard的,供Android Virtual Device使用,

在Android SDK的tools目录下,mksdcard:



mksdcard 1024M sdcard.so

就会创建sdcard.so文件,模拟SDCard

Android Virtual Device使用模拟SDCard有两种方式:

aa) 在创建Android Virtual Device时,在android create avd命令中,通过--sdcard这个option指定模拟SDCard的文件;

bb) 在emulator运行Android Virtual Device时,在emulator命令中,通过-sdcard这个option指定模拟SDCard的文件;

两个的区别是:前者会一直存在,后者需要在每次运行emulator命令时指定;


(7)至此,Android Virtual Device创建完毕,可以在这上面尽情的调试程序,如果需要使用一些高级的功能,就需要细细研究emulator的其它options,

例如运行自己编译源码得到的images等,这样可以修改更深层次的东西,如Framework、Libraries、HAL等,然后运行编译得到的images查看结果。







1 0
原创粉丝点击