有没有办法在安装Android Debug Bridge的应用程序时忽略INSTALL_FAILED_VERSION_DOWNGRADE?

Aar*_*nMT 116 android install adb

当一个人尝试安装具有较低版本的APK时,似乎最新的Android 4.2在安装时引入了此错误情况.在Android的早期版本中,只需通过即可安装较旧的APK adb install -r <link to APK>.出于调试目的,我经常需要重新测试较旧的APK; 并且该-r标志将取代旧版Android中的旧版本.这里有一个可以忽略的解决方法[INSTALL_FAILED_VERSION_DOWNGRADE]吗?

sup*_*eee 277

似乎最新版本的adb工具有一个"允许降级标记",未在adb帮助中显示,但它显示在设备的"pm"帮助中.所以使用: adb install -r -d <link to apk>

  • 自从Android 7(Nougat)以来,除非将软件包标记为可调试,否则adb install -d不再有效.https://android.googlesource.com/platform/frameworks/base/+/921dd75 (12认同)
  • 试过`adb install -rd <apkfile>`哪个不行.你的versino(分离选项)工作正常.谢谢! (3认同)
  • 对我来说,当我执行“adb install -t -r -d app.apk”时,它起作用了 (3认同)

Tal*_*awk 19

您可以尝试使用adb uninstall -k <package>然后安装较旧的apk.从adb使用指南:

  adb uninstall [-k] <package> - remove this app package from the device
                                 ('-k' means keep the data and cache directories)
Run Code Online (Sandbox Code Playgroud)

我自己用我的apk尝试过,它似乎适用于大多数数据(一些数据,如RawContacts未保存)


小智 14

您是否在设备上启用了多个帐户(并通过ADB推送apk)?如果是这样,你必须在每个帐户中删除apk.完全卸载后,您的推送就可以了.


han*_*ach 13

对我来说,只有这个工作正常,因为我的应用程序是一个系统应用程序

adb install -t -r -d myapp.apk
Run Code Online (Sandbox Code Playgroud)