【问题标题】:Testing Android Applications on a Clean Emulator在干净的模拟器上测试 Android 应用程序
【发布时间】:2011-08-25 18:38:57
【问题描述】:

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

【问题讨论】:

  • Eclipse 会这样做,虽然不是在干净的模拟器中,但它不会引发有关已安装应用程序的错误,所以这很好。 Eclipse 是如何做到这一点的?

标签: android android-emulator adb avd


【解决方案1】:

您不使用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 的完整 usage instructions

您是否要删除它以删除您正在测试的应用程序并恢复为“干净”的模拟器?如果是这样,则不必每次都删除 AVD。您可以在启动模拟器时指定-wipe-data 选项。这有效地将 AVD 重置为您创建它时的状态。这是emulator documentation

希望这有助于简化您的脚本。

【讨论】:

  • 我使用了adb shell pm path android,效果很好。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-19
  • 2017-07-20
相关资源
最近更新 更多