Android 使用回滚功能安装多个APK
我正在尝试在一个命令中安装多个APK,我可以做到这一点,但如果其中一个失败,我需要回滚所有应用程序 adb安装-r app1.apk和adb安装-r app2.apk和adb安装-r app3.apk 目标是:全部安装或不安装 有可能吗Android 使用回滚功能安装多个APK,android,adb,Android,Adb,我正在尝试在一个命令中安装多个APK,我可以做到这一点,但如果其中一个失败,我需要回滚所有应用程序 adb安装-r app1.apk和adb安装-r app2.apk和adb安装-r app3.apk 目标是:全部安装或不安装 有可能吗 非常感谢我建议您阅读每个adb install命令的输出,并查找“Success”一词。当安装失败(缺少“Success”一词)时,继续执行uninstall all命令(您需要通过创建一系列adb uninstall命令来定义该命令)使用monkeyrunne
非常感谢我建议您阅读每个
adb install
命令的输出,并查找“Success”一词。当安装失败(缺少“Success”一词)时,继续执行uninstall all命令(您需要通过创建一系列adb uninstall
命令来定义该命令)使用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
我没有检查它是否编译/运行,它可以改进为只卸载已成功安装的,但希望您能理解这一点
您可以查看此github页面。您可以自动安装多个应用。
您的应用程序的
回滚是什么意思?当然有可能。这只是一个编写脚本的问题。您希望使用哪种脚本语言执行此操作?@JaredBurrows Rollback意味着,如果我有apk1 v1.0,我将尝试安装apk1。v2.0,如果失败,那么我必须安装apk1 v1.0。如果你使用-r,它会在android中自动运行。这里的问题是,我有一个以前的版本,我将删除所有,我想保留原始版本。我有两个应用程序(apk1.apk和apk2.apk)。apk1.apk v1与apk2.apk v1配合良好,apk1.apk v2与apk2.apk v2配合良好。为此,我需要全部更新或不更新任何内容。