Comment revenir à une version antérieure de n'importe quelle application sans perdre de données sur Android 8.1 ?
EDIT 0 : Nota Bene : Ici, Fairemail est donné à titre d'exemple, ma question concerne Android en général et non une application en particulier. Je demande en fait comment rétrograder n'importe quelle application à sa version précédente après avoir déjà téléchargé le fichier apk.
Voici les informations sur le package eu.faircode.email que je souhaite rétrograder :
$ du -h eu.faircode.email_1036.apk
13M eu.faircode.email_1036.apk
$ aapt2 dump badging eu.faircode.email_1036.apk | egrep '^$|package|[s]dkVersion:|application-label:|native-code:'
package: name='eu.faircode.email' versionCode='1036' versionName='1.1036' platformBuildVersionName='' platformBuildVersionCode='' compileSdkVersion='29' compileSdkVersionCodename='10'
sdkVersion:'21'
application-label:'FairEmail'
native-code: 'arm64-v8a' 'armeabi-v7a' 'x86' 'x86_64'
J'ai essayé de réinstaller cette application sans perdre de données :
$ adb install -r -d eu.faircode.email_1036.apk
Performing Streamed Install
adb: failed to install eu.faircode.email_1036.apk: Failure [INSTALL_FAILED_VERSION_DOWNGRADE]
mais cela n'a pas fonctionné, donc j'ai essayé de désinstaller cette application sans perdre de données et ça a marché :
$ adb uninstall -k eu.faircode.email
The -k option uninstalls the application while retaining the data/cache.
At the moment, there is no way to remove the remaining data.
You will have to reinstall the application with the same signature, and fully uninstall it.
If you truly wish to continue, execute 'adb shell cmd package uninstall -k'.
$ adb shell cmd package uninstall -k eu.faircode.email
Success
Mais ensuite l'installation de eu.faircode.email_1036.apk
n'a pas fonctionné :
$ adb install eu.faircode.email_1036.apk
Performing Streamed Install
adb: failed to install eu.faircode.email_1036.apk: Failure [INSTALL_FAILED_VERSION_DOWNGRADE]
$ adb install -d eu.faircode.email_1036.apk
Performing Streamed Install
adb: failed to install eu.faircode.email_1036.apk: Failure [INSTALL_FAILED_VERSION_DOWNGRADE]
$ echo $?
1
Il semble que adb install -d
soit seulement utilisable avec des packages débogables selon ceci :
$ adb | grep downgrade
-d: allow version code downgrade (debuggable packages only)
Pouvez-vous m'aider ?
0 votes
Pour moi, en utilisant Termux, j'ai pu rétrograder connectbot en utilisant
cmd package install -d my.apk
-- voir aussi github.com/connectbot/connectbot/issues/1031. Apparemment, ce package a le débogage activé? La commande a simplement affichéSuccès
après quelques secondes et l'application a fonctionné à nouveau sur mon appareil.