当我想测试一个android应用程序时,我创建一个新的AVD,在模拟器中启动它,等待模拟器完成启动,然后使用ADB安装应用程序,完成后删除AVD。是否有任何工具可以自动化所有这些步骤?我尝试自己编写,但我找不到一种方法来判断模拟器是否完全启动,因为 Android SDK 网站说不要使用“adb wait-for-device install file.apk”。
问问题
2511 次
1 回答
4
你不使用是对的wait-for-device
。它不会等待包管理器可用,这正是您所需要的。我不确定 eclipse 是如何做到的,但您可以轮询模拟器,直到使用命令包管理器可用adb shell pm path android
。该命令应返回“包:某物”。查看使用该技术的 Python 脚本:www.netmite.com/android/mydroid/1.6/.../adb_interface.py。它很大,但是如果您搜索上面的命令,您会找到脚本的相关部分。
为什么每次都想删除AVD?
如果您每次都删除它,因为安装命令由于 AVD 上已经存在的应用程序而引发错误,您可以这样做:adb install -r file.apk
. 该-r
部件用于重新安装应用程序。这是 adb 的完整使用说明。
您是否删除它以删除您正在测试的应用程序并恢复为“干净”的模拟器?如果是这样,则不必每次都删除 AVD。您可以-wipe-data
在启动模拟器时指定选项。这有效地将 AVD 重置为您创建它时的状态。这是模拟器文档。
希望这有助于简化您的脚本。
于 2011-05-15T07:10:23.410 回答