在干净的模拟器上测试Android应用程序

5

当我想测试一个安卓应用程序时,我会创建一个新的AVD,在模拟器中启动它,等待模拟器完成引导,然后使用ADB来安装应用程序,最后删除AVD。是否有自动化所有这些步骤的工具?我尝试编写自己的工具,但我无法找到一种方法来确定模拟器是否完全引导,因为Android SDK网站上说不要使用“adb wait-for-device install file.apk”。


Eclipse可以做到这一点,虽然不是在一个干净的模拟器中,但它不会引发关于已安装应用程序的错误,所以这很好。Eclipse是如何做到这一点的? - None
1个回答

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使用说明

你是要删除它以删除你正在测试的应用程序并恢复到“清洁”的模拟器吗?如果是这样,每次都删除AVD是不必要的。您可以在启动模拟器时指定-wipe-data选项。这将有效地将AVD重置为创建时的状态。这里是模拟器文档。希望这有助于简化您的脚本。

我使用了 adb shell pm path android,效果非常好。谢谢! - None

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接