我试图在一个命令中安装多个apks,我可以实现,但如果一个失败,我需要回滚所有应用程序。
adb install -r app1.apk& adb install -r app2.apk& adb install -r app3.apk
目标是:全部安装或不安装任何东西。
有可能吗?
非常感谢
答案 0 :(得分:0)
我建议您阅读每个adb install
命令的输出,并查找&#34;成功&#34;字。当安装失败时(缺少&#34;成功&#34;字),继续执行 uninstall-all 命令(您需要通过创建adb uninstall <package_name>
命令序列来定义<) / p>
答案 1 :(得分:0)
如何使用monkeyrunner
(与Android SDK捆绑在一起)。它将为您处理安装,检测失败,以及类似这样的python脚本:
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
# Connects to the current device, returning a MonkeyDevice object
device = MonkeyRunner.waitForConnection()
apks = ['app1.apk', 'app2.apk', 'app3.apk']
#installPackage will return false if it fails
#use a generator to short circuit on failure
generator = (device.installPackage(apk) for apk in apks)
if not all(generator):
device.removePackage(apk) for apk in apks
我没有检查这个编译/运行,并且它可以改进为只卸载已成功安装的那个,但是你明白了。
http://developer.android.com/tools/help/monkeyrunner_concepts.html
答案 2 :(得分:0)
您可以查看此github页面。您可以自动安装多个应用程序 Automatic installation of multiple apk files.