web-dev-qa-db-fra.com

Existe-t-il un moyen d'ignorer INSTALL_FAILED_VERSION_DOWNGRADE lors de l'installation d'applications avec Android Debug Bridge?

Il semble que le dernier Android 4.2 ait introduit cette condition d'erreur lors de l'installation lorsqu'un utilisateur tente d'installer un APK avec une version inférieure. Dans les versions précédentes d'Android, il était possible d'installer d'anciens APK simplement via adb install -r <link to APK>. À des fins de débogage, j'ai souvent besoin de tester à nouveau les anciens APK; et l'indicateur -r remplacerait l'ancienne version des anciennes versions d'Android. Existe-t-il une solution ici pour ignorer [INSTALL_FAILED_VERSION_DOWNGRADE]?

111
AaronMT

Il semble que la dernière version des outils adb comporte un "indicateur de rétrogradation" qui n'apparaît pas dans l'aide adb, mais dans l'aide "pm" de l'appareil. Donc utilisez: adb install -r -d <link to apk>

263
supereee

Vous pouvez essayer d'utiliser adb uninstall -k <package> puis d'installer l'ancien apk . À partir du guide d'utilisation d'adb: 

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

Je l'ai essayé moi-même avec mon apk, et cela semble fonctionner pour la plupart des données (certaines données telles que RawContacts n'ont pas été sauvegardées)

17
Talihawk

Avez-vous activé le compte multiple sur votre appareil (et Push votre apk via ADB)? Si c'est le cas, vous devez supprimer l'apk de tous les comptes. Après la désinstallation complète, votre Push sera OK.

14
OlivierTurpin

Dans mon cas, il s’agissait d’une version obsolète des services Google Play incluse dans mon projet. J'utilise Android Studio. J'ai exécuté une mise à jour sur le SDK et importé la bibliothèque mise à jour, et cette erreur a disparu. Donc, ma suggestion: mettre à jour les dernières bibliothèques référencées par votre projet.

1
IgorGanapolsky

Pour les personnes confrontées à des problèmes avec Xiaomi:

adb Shell pm uninstall <package_name>
0
Vaigunth

Vous avez peut-être installé à partir d'une copie distincte du code dont le numéro de version était supérieur à la copie que vous utilisez actuellement. Dans les deux cas, désinstallez la copie actuellement installée ou ouvrez Paramètres> Applications pour déterminer le numéro de version de l'application installée et incrémentez votre versionCode pour qu'il soit plus élevé dans le manifeste Android.

0
Ravindra

Essayez de désinstaller la version précédemment installée de l'application en utilisant

adb uninstall com.package.name

puis installez/exécutez à nouveau votre application

0
Krishna