当我想测试一个安卓应用程序时,我会创建一个新的AVD,在模拟器中启动它,等待模拟器完成引导,然后使用ADB来安装应用程序,最后删除AVD。是否有自动化所有这些步骤的工具?我尝试编写自己的工具,但我无法找到一种方法来确定模拟器是否完全引导,因为Android SDK网站上说不要使用“adb wait-for-device install file.apk”。
当我想测试一个安卓应用程序时,我会创建一个新的AVD,在模拟器中启动它,等待模拟器完成引导,然后使用ADB来安装应用程序,最后删除AVD。是否有自动化所有这些步骤的工具?我尝试编写自己的工具,但我无法找到一种方法来确定模拟器是否完全引导,因为Android SDK网站上说不要使用“adb wait-for-device install file.apk”。
你不使用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使用说明。
-wipe-data
选项。这将有效地将AVD重置为创建时的状态。这里是模拟器文档。希望这有助于简化您的脚本。adb shell pm path android
,效果非常好。谢谢! - None