3 votes

Est-ce que adb backup stocke toutes les applications?

Sur mon téléphone non rooté, j'ai d'abord utilisé adb backup -all -apk -obb -f lenovo.ab et un peu plus tard adb restore lenovo.ab (les deux commandes n'ont pas généré d'erreurs). Étonnamment, je n'ai pas retrouvé un grand nombre d'applications après la restauration. Il y a deux options : ces applications n'étaient pas stockées dans le fichier de sauvegarde lors de la première commande ou elles n'ont pas été restaurées lors de la deuxième. Pour vérifier la première option, j'ai créé un fichier tar à partir de la sauvegarde avec dd if=lenovo.ab bs=24 skip=1 | openssl zlib -d > lenovo.tar (conseil provenant de Is there a way to look inside and modify an adb backup created file?) et je n'ai pas trouvé les applications manquantes. Donc, adb ne les a pas stockées.

La question est pourquoi ? Il est probable que bon nombre des applications manquantes (voire toutes) n'ont pas été mises à jour depuis longtemps. Est-ce que cela peut être la raison pour les exclure de la sauvegarde ?

2voto

Firelord Points 23064
\# adb shell bu -h
 sauvegarde \[-f FICHIER\] \[-apk|-noapk\] \[-obb|-noobb\] \[-shared|-noshared\] \[-all\]
        \[-system|-nosystem\] \[-keyvalue|-nokeyvalue\] \[PACKAGE...\]
     écrire une archive des données de l'appareil dans le FICHIER \[par défaut=backup.adb\]
     liste des packages facultative si -all/-shared sont fournis
     -apk/-noapk: sauvegarder/ne pas sauvegarder les fichiers .apk (par défaut -noapk)
     -obb/-noobb: sauvegarder/ne pas sauvegarder les fichiers .obb (par défaut -noobb)
     -shared|-noshared: sauvegarder/ne pas sauvegarder le stockage partagé (par défaut -noshared)
     -all: sauvegarder toutes les applications installées
     -system|-nosystem: inclure les applications système dans -all (par défaut -system)
     -keyvalue|-nokeyvalue: inclure les applications qui effectuent des sauvegardes de clé/valeur.
         (par défaut -nokeyvalue)
 restauration FICHIER           restaurer le contenu de l'appareil depuis le FICHIER

Il y a deux choses importantes à considérer lors de la sauvegarde des applications via adb. Tout d'abord, toutes les applications dont les développeurs ne souhaitent pas qu'elles soient sauvegardées ne le sont jamais par adb. Cela est fait en déclarant un indicateur (allowbackup) dans le manifest de l'application. Deuxièmement, même si un développeur souhaite que son application soit sauvegardée, il peut décider entre une sauvegarde complète (fullbackuponly) ou seulement la sauvegarde des paires clé/valeur. Cela se fait également à travers le manifest de l'application.

Dans votre cas, seules les applications avec allowbackup=true et fullbackuponly=true ont été sauvegardées. L'âge de l'installation ou l'âge de la dernière révision d'une application n'a aucune incidence sur la sauvegarde adb.

Si vous êtes curieux de savoir quelles applications n'ont pas pu être sauvegardées, je vous suggère d'essayer une application de la liste d'inspection d'applications étendue de l'utilisateur Izzy app inspection list. À l'heure actuelle, je ne connais pas d'application qui peut trier et afficher les applications en fonction de ces attributs de sauvegarde.

0 votes

La réponse est vraiment claire, merci beaucoup surtout pour la liste d'Izzy.

0 votes

Y a-t-il un moyen de contourner ce drapeau et de sauvegarder quand même sans rootage ?

0 votes

Il n'y a aucun moyen de le faire car cela violerait le modèle de confiance selon lequel un développeur d'application a choisi de garder les données sensibles à l'écart du mécanisme de sauvegarde. @Ben

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X