Vous aurez besoin d'une récupération personnalisée pour cette solution et il semble que vous ayez déjà installé TWRP.
Mise en place adb dans le PC, si ce n'est déjà fait. Démarrez en mode de récupération. Montez la partition de données. Trouvez le nom du paquet de votre application, si vous ne le savez pas déjà, et exécutez ces commandes :
adb shell
busybox tar -C / -cvzhf /sdcard/PACKAGE\_NAME.tgz data/app/PACKAGE\_NAME\* data/data/PACKAGE\_NAME # replace PACKAGE\_NAME with package name of the app
La dernière commande créera une archive avec l'extension .tgz sous /sdcard
avec name comme nom de paquetage de l'application. L'archive contiendra l'APK de l'application (entre autres) et les données privées de l'application. La propriété et les attributs des fichiers seraient préservés automatiquement. Les attributs étendus (tels que le contexte SELinux) ne seront pas préservés dans cette commande. 1
Votre application peut contenir des données accessibles au public sous /sdcard/Android
. Vous pouvez simplement utiliser adb pull
ou MTP pour copier ces fichiers sur le PC et les restaurer à l'aide de adb push
ou MTP, le cas échéant.
Pour restaurer la sauvegarde, procédez comme suit
adb shell
busybox tar -C / -xvzhf BACKUP\_PATH # replace BACKUP\_PATH with the file path of your backup, such as /sdcard/PACKAGE\_NAME.tgz
restorecon -FRv /data/data/PACKAGE\_NAME # this will set default SELinux context on the data files of your app
Démontez la partition de données, redémarrez et vous devriez retrouver votre application dans l'état restauré.
Remarque : J'ai testé cette solution sur une version non officielle de CM13.
1 J'ai remarqué que la version bionique de busybox (trouvée dans TWRP v2.8.6.0) a, entre autres arguments, les suivants -p
pour le goudron qui est utilisé pour stocker les contextes SELinux . Si le fichier a été créé en utilisant cet argument, ces contextes seront restaurés automatiquement lors de l'extraction, sans qu'il soit nécessaire d'exécuter la commande restorecon
explicitement.