5

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

4

1 回答 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 回答