¿Cómo bajar cualquier aplicación a la versión anterior sin perder datos en Android 8.1?
EDIT 0 : Nota Bene : Aquí, Fairemail se da como un ejemplo, mi pregunta no es específica de la aplicación, pero Android específico. En realidad, estoy preguntando cómo degradar cualquier aplicación a su versión anterior habiendo ya descargado la apk.
Esta es la información del paquete eu.faircode.email Quiero presionar para bajar de categoría :
$ 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'
He intentado reinstalar esta aplicación sin pérdida de datos:
$ 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]
pero no funcionó, así que probé la desinstalación de esta aplicación sin pérdida de datos y funcionó :
$ 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
Pero entonces la instalación de eu.faircode.email_1036.apk
no :
$ 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
Parece que adb install -d
sólo se puede utilizar con paquetes depurables según este :
$ adb | grep downgrade
-d: allow version code downgrade (debuggable packages only)
¿Puede ayudarme?
0 votos
En mi caso, usando Termux, pude bajar connectbot usando
cmd package install -d my.apk
-- ver también github.com/connectbot/connectbot/issues/1031 . ¿Supuestamente este paquete tiene la depuración activada? El comando simplemente informóSuccess
después de unos segundos y la aplicación volvió a funcionar en mi dispositivo.