似乎最新的Android 4.2在尝试安装较低版本的APK时在安装时引入了此错误情况。在以前的Android版本中,只需通过即可安装较旧的APK adb install -r <link to APK>
。出于调试目的,我经常需要重新测试较旧的APK;并且该-r
标志将替换旧版Android中的旧版。有一种解决方法在这里忽略[INSTALL_FAILED_VERSION_DOWNGRADE]
吗?
-r
旗帜会处理这个。
似乎最新的Android 4.2在尝试安装较低版本的APK时在安装时引入了此错误情况。在以前的Android版本中,只需通过即可安装较旧的APK adb install -r <link to APK>
。出于调试目的,我经常需要重新测试较旧的APK;并且该-r
标志将替换旧版Android中的旧版。有一种解决方法在这里忽略[INSTALL_FAILED_VERSION_DOWNGRADE]
吗?
-r
旗帜会处理这个。
Answers:
看来最新版本的adb工具具有“允许降级标志”,该标志未在adb帮助中显示,但在设备的“ pm”帮助中显示。因此使用:
adb install -r -d <link to apk>
adb install -rd <apkfile>
哪些不起作用。您的versino(选项分开)工作正常。谢谢!
您可以尝试使用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)
我自己用apk尝试了一下,它似乎适用于大多数数据(未保存某些数据(如RawContacts))
adb shell pm uninstall -k <package>
。
您可能是从单独的代码副本安装的,其版本号高于当前使用的副本。无论哪种情况,都请卸载当前安装的副本,或打开“设置”>“应用”以确定已安装的应用的版本号,然后在AndroidManifest中将versionCode递增为更高。
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.xy版本是可行的,并且不再收到错误消息。此外,我可以等到准备就绪后再升级到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.+'