Le problème :
Chaque fois que j'exécute une sauvegarde ADB, je reçois un message près du bas de l'écran d'accueil disant Démarrage de la sauvegarde...
, suivi d'un message disant Sauvegarde terminée
quelques secondes plus tard, malgré le fait que j'utilise 17 Go de mémoire sur l'appareil, et que le fichier de sauvegarde résultant est créé avec une taille de 0 octets. Je ne reçois aucun message d'erreur, aucun retour d'information indiquant que quelque chose ne va pas, encore moins ce qui ne va pas. Il semble fonctionner, mais beaucoup trop rapidement, et le fichier de sauvegarde est vide.
Le processus :
-
Je confirme que l'appareil est reconnu par ADB en utilisant la commande
adb devices
, et reçois la sortie suivante :List of devices attached 8e1f368a device
-
Je lance la commande de sauvegarde ADB (détails à suivre).
-
Je reçois le message suivant dans l'invite de commande :
Déverrouillez maintenant votre appareil et confirmez l'opération de sauvegarde.
...et la demande suivante sur le téléphone :
Cela n'a aucune importance ce que je fais ici (détails à suivre).
-
Je touche le bouton Sauvegarder mes données (coin inférieur droit).
-
Le téléphone revient à l'écran d'accueil et affiche le message
Démarrage de la sauvegarde...
, puis le messageSauvegarde terminée
quelques secondes plus tard. Un fichier de 0 octet est créé, nommé soit le backup.ab par défaut, soit ce que j'ai spécifié avec l'interrupteur -f.
La commande de sauvegarde ADB (utilisée à l'étape 2) :
J'ai essayé plusieurs combinaisons d'options, allant du plus simple comme
adb backup -all
à des choses comme
adb backup -all -apk -s 8e1f368a -f 'C:\Data Files\PDA\Backups\ADB\GalaxyS4_20140919.ab'
J'ai aussi essayé d'ajouter l'interrupteur -nosystem
après avoir lu cela et cela, qui indiquent qu'essayer d'inclure une sauvegarde système sur un appareil non rooté peut résulter en un fichier de 0 octet, et que cet interrupteur doit être utilisé. Cela ne change rien, le processus se termine toujours en quelques secondes et j'obtiens toujours un fichier de 0 octet.
La demande de mot de passe "Sauvegarde complète" (étape 3) :
Je suis assez sûr de n'avoir jamais défini de mot de passe de sauvegarde auparavant. Je n'ai jamais eu l'occasion de définir ce mot de passe ou d'accéder à ce paramètre de quelque manière que ce soit auparavant. Cependant, j'ai essayé toutes les démarches suivantes :
- Laisser les deux mots de passe vides
- Laisser le "mot de passe de sauvegarde actuel" vide et entrer un nouveau mot de passe dans la deuxième case
- Entrer le PIN de verrouillage actuel de l'écran et tous les PIN que j'ai déjà utilisés dans le passé en tant que "mot de passe de sauvegarde actuel".
- Entrer tous les mots de passe auxquels je peux penser avoir jamais utilisés pour quoi que ce soit sur cet appareil
Dans tous les cas, le comportement est exactement le même que celui décrit à l'étape 5. Je ne reçois aucune erreur ni aucun type d'indication que quelque chose ne va pas ou que mes mots de passe sont invalides, et aucune indication sur le fait qu'il attend réellement un mot de passe actuel ou que ce champ devrait être laissé vide. (La capture d'écran dans cette réponse et plusieurs autres forums d'assistance que j'ai consultés semblent impliquer que la boîte "mot de passe de sauvegarde actuel" ne serait pas affichée s'il n'y a pas de mot de passe actuel, mais c'est juste une inférence ; rien ne précise clairement si un mot de passe actuel est réellement requis.)
Je soupçonne que le mot de passe demandé pourrait être le "mot de passe de sauvegarde de bureau" défini dans les options pour les développeurs :
Je n'ai jamais défini ce mot de passe auparavant. Si j'essaie d'en définir un, je reçois un message disant Impossible de définir le mot de passe de sauvegarde.
En cherchant des informations sur cette erreur, j'ai rencontré au moins un autre cas où quelqu'un ayant ce problème disait que cela l'empêchait d'utiliser la sauvegarde ADB, mais il n'a pas été précis sur ce qui se passe lorsqu'il essaie d'utiliser ADB backup.
La plupart des personnes qui ont reçu ce message sans jamais avoir défini le mot de passe auparavant disent que la solution a été de laisser le mot de passe actuel vide, mais j'ai essayé cela en premier lieu et ça n'a pas fonctionné. J'ai trouvé une question d'une autre personne ayant rencontré ce problème et étant sûr de ne pas avoir défini le mot de passe auparavant. Malheureusement, il semble qu'il n'ait jamais reçu de solution ou même d'explication.
Peu importe que ADB recherche le "mot de passe de sauvegarde de bureau" ou que le mot de passe de chiffrement ADB soit quelque chose de séparé, je me demande pourquoi ADB exigerait que vous saisissiez un mot de passe précédent pour initier une nouvelle sauvegarde. Je n'essaie pas de restaurer, écraser ou accéder de quelque manière que ce soit à des données chiffrées précédemment, donc même si un mot de passe de chiffrement pour une sauvegarde avait été défini auparavant, je ne peux pas imaginer pourquoi quelqu'un penserait que ce serait une bonne idée de vous empêcher de sauvegarder votre appareil si vous ne vous souvenez pas du mot de passe que vous avez utilisé pour chiffrer les sauvegardes par le passé.
Informations supplémentaires :
Modèle : Samsung Galaxy S4 SCH-I545
Version du noyau : 3.4.0
Version du système d'exploitation : 4.4.2
Version des outils Android SDK : 1.16
Le débogage USB est activé.
Notez que ma raison d'utiliser la sauvegarde ADB est de faire une sauvegarde complète de mon téléphone pour être prudent avant de le rooter* afin que je puisse utiliser des outils de sauvegarde nandroid tels que Titanium backup. Donc, toute suggestion impliquant de rooter mon téléphone serait un cercle vicieux, pas une solution. Inutile de dire qu'une réinitialisation aux paramètres d'usine n'est pas non plus une solution, car cela irait à l'encontre de l'objectif de réaliser la sauvegarde.
Le téléphone est configuré pour se synchroniser avec les serveurs Exchange de mon entreprise, et certaines politiques sont appliquées par le serveur. J'avais pensé que l'appareil était chiffré lorsque j'ai configuré la synchronisation avec le compte de l'entreprise, mais apparemment il n'est actuellement pas chiffré. En fait, c'est ce qui a déclenché cette chaîne d'événements : Je reçois un message me disant que je dois chiffrer l'appareil pour continuer à me connecter aux serveurs de l'entreprise. Je veux faire une sauvegarde nandroid avant de chiffrer, ce qui nécessite le root, et je veux utiliser la sauvegarde ADB avant le rootage.
* Oui, je suis conscient que Towelroot est censé être sûr, mais je préférerais ne pas prendre de risques, et j'aimerais résoudre ou du moins comprendre ce problème au cas où des problèmes similaires surviendraient à l'avenir.
0 votes
J'ai eu plusieurs problèmes avec ADB sur l'une de mes tablettes (rootée ou non, dans les deux cas) qui étaient similaires (juste inversés : tandis que
adb backup
fonctionnait bien,adb restore
échouait toujours). Il s'est avéré que c'était un problème de permission (le fabricant avait altéré la ROM), doncadb restore
ne pouvait pas lire le fichier de sauvegarde une fois transféré sur l'appareil. C'était un peu délicat à trouver, et je ne suis pas sûr si quelque chose de similaire est vraiment le cas ici ; mais ça vaut peut-être la peine de vérifier.2 votes
Pour ceux qui se retrouveraient ici avec le même problème de 0 octet : J'ai eu ce problème car j'avais une fois configuré un mot de passe de bureau dans les paramètres et l'avait oublié. Comme l'appareil est rooté, j'ai suivi cette réponse (la mienne) et tout s'est bien passé.
0 votes
Vous pouvez également consulter : code.google.com/p/android/issues/detail?id=47009 - Si vous avez crypté votre téléphone, vous pourriez avoir besoin d'utiliser votre mot de passe de cryptage comme "mot de passe actuel" dans tous les messages d'avertissement : soit dans l'écran de "Sauvegarde complète", soit dans celui du "Mot de passe de sauvegarde sur bureau".