当我想测试一个Android应用程序时,我创建一个新的AVD,在模拟器中启动它,等待模拟器完成启动,然后使用ADB安装应用程序,当我完成后删除AVD 。是否有任何工具可以自动执行所有这些步骤?我尝试编写自己的,但我找不到一种方法来判断模拟器是否完全启动,因为Android SDK网站说不使用“adb wait-for-device install file.apk”。
答案 0 :(得分:4)
你没有使用wait-for-device
。它不等待包管理器可用,这是您需要的。我不确定eclipse是如何做到的,但您可以使用命令adb shell pm path android
轮询模拟器,直到包管理器可用。该命令应返回'package:something'。看看这个使用该技术的python脚本:www.netmite.com/android/mydroid/1.6/.../adb_interface.py。它非常大,但如果您搜索上面的命令,您将找到相关的脚本部分。
为什么每次都要删除AVD?
如果您每次都删除它,因为安装命令因AVD上已存在的应用程序而引发错误,您可以执行此操作:adb install -r file.apk
。 -r
部分用于重新安装应用。以下是adb的完整usage instructions。
您是否删除它以删除正在测试的应用程序并恢复为“干净”模拟器?如果是这样,则不必每次都删除AVD。您可以在启动模拟器时指定-wipe-data
选项。这有效地将AVD重置为创建它时的状态。这是emulator documentation。
希望这有助于简化您的脚本。