adb install -r <link to APK>
简单地安装旧版本的APK。出于调试目的,我经常需要重新测试旧版APK;而-r
标志则会替换旧版构建在较旧的Android版本中。这里是否有一种解决方法来忽略[INSTALL_FAILED_VERSION_DOWNGRADE]
错误?adb install -r <link to APK>
简单地安装旧版本的APK。出于调试目的,我经常需要重新测试旧版APK;而-r
标志则会替换旧版构建在较旧的Android版本中。这里是否有一种解决方法来忽略[INSTALL_FAILED_VERSION_DOWNGRADE]
错误?看起来最新版本的adb工具有一个“允许降级标记”,这个标记没有显示在adb的帮助中,但它在设备上的“pm”帮助中显示。所以使用:adb install -r -d <apk链接>
adb install -t -r -d app.apk
时,这个方法对我起了作用。 - arekolekadb uninstall -k <package>
命令卸载应用,然后再安装旧版本的apk文件。
来自adb使用指南: adb uninstall [-k] <package> - remove this app package from the device
('-k' means keep the data and cache directories)
我已经用我的apk自己尝试了一下,似乎对大部分数据都有效(像RawContacts这样的一些数据没有被保存)。
adb shell pm uninstall -k <package>
。 - Paul Lammertsma你在设备上启用了多个账号(并通过ADB推送了你的apk)吗? 如果是这样,你需要在每个账户中删除该apk。 完全卸载后,你的推送将正常。
对我来说,只有这个很好,因为我的应用是一个系统应用。
adb install -t -r -d myapp.apk
在我的情况下,是因为我使用的Android Studio项目中包含了一个过期版本的Google Play Services。我运行了SDK的更新,并导入了更新后的库,这个错误就消失了。所以我的建议是:更新你的项目所引用的最新库。
尝试使用以下方式卸载先前安装的应用程序版本 -
adb uninstall com.package.name
"Downgrade detected: Update version code 5011 is older than current 9109"
3) 复制当前版本(例如9109)并将其粘贴到AndroidManifest.xml中,如下所示 -
android:versionCode="9109"
查看文档:https://developer.android.com/studio/command-line/adb
-d:允许版本代码降级。
只需执行adb install -d your-app.apk
即可解决问题。
我只是先在您的设备上卸载应用程序,然后安装新的应用程序就解决了我的问题。 谢谢!
这可能是与Google Play服务依赖项有关的问题。
有时,并非如下情况:
a)已安装应用程序的版本较新或不是
b)设备上另一个用户帐户中已安装应用程序的版本
因此,错误消息只是虚假的。
在我的情况下,我有:
implementation 'com.google.android.gms:play-services-maps:16.0.0'
implementation 'com.google.android.gms:play-services-location:16.0.0'
implementation 'com.google.android.gms:play-services-gcm:16.0.0'
但是当我尝试时
implementation 'com.google.android.gms:play-services-maps:17.0.0'
implementation 'com.google.android.gms:play-services-location:17.0.0'
implementation 'com.google.android.gms:play-services-gcm:17.0.0'
我遇到了与androidX相关的错误,因为我还没有升级到androidX并且也没有准备好这样做。我发现使用最新的16.x.y版本可以解决问题,不再出现错误信息。此外,我可以等到以后准备好时再升级到androidX。
implementation 'com.google.android.gms:play-services-maps:16.+'
implementation 'com.google.android.gms:play-services-location:16.+'
implementation 'com.google.android.gms:play-services-gcm:16.+'
-r
标志会处理这个。 - AaronMT