7 votes

Problèmes de découverte de la sauvegarde carbone avec le Nexus 7

J'ai fait une sauvegarde de ma Nexus 7 avant que son bootloader ne soit déverrouillé avec Carbon et l'application Windows correspondante ; j'ai ensuite transféré le dossier Carbon du stockage interne vers le disque de mon ordinateur.

Un déblocage, Root, flash, etc, plus tard, j'ai placé le dossier Carbon là où il était :

 /storage/emulated/0/carbon

J'ai installé une application supplémentaire et l'ai sauvegardée pour confirmer que Carbon y stocke les nouvelles sauvegardes :

Pourtant, pas de joie.

J'ai également copié les données de sauvegarde sur Google Drive. Carbon ne parvient pas non plus à y trouver les données.

On pourrait penser que c'est un problème d'autorisations. Pour autant que je puisse voir, ce n'est pas le cas.

Cette personne ( lien avec le fil ) a eu des problèmes similaires avec une Nexus 7 mais pas avec une Nexus 4. Ils ont envoyé un e-mail aux développeurs il y a un mois et n'ont pas donné de nouvelles. Je leur ai aussi envoyé un mail mais je ne retiens pas mon souffle, honnêtement. et j'ai eu une réponse. Je ne vais pas publier le texte intégral de l'e-mail, car cela constituerait une violation de la vie privée, mais voici l'essentiel.

Vous avez déplacé manuellement la sauvegarde, ce qui est un scénario non pris en charge dans Carbon. C'est pourquoi vous ne pouvez pas voir les sauvegardes. Il n'y a pas de correctif, ni de solution de contournement pour cela.

Que puis-je faire à ce sujet ?

3voto

Milner Points 533

Il s'est avéré que toutes les autres applications avaient leurs correspondants. .json fichier manquant. Ce n'est pas grave : Comme réponse de badp on peut simplement utiliser adb restore pour restaurer les sauvegardes. Mais comme tout le monde ne dispose pas forcément du SDK (ou même d'une minimal ADB ) installé (ou même un ordinateur disponible - on peut être en voyage), ma réponse adoptera une approche différente.

Ce dont nous avons besoin

Tout d'abord, vous devrez faire une sauvegarde de un peu de pour obtenir une application .json dossier. Comme l'indique la question, il y en avait un de la part du Adobe Reader . Pour le visualiser, voici ce que donne le fichier correspondant ( com.adobe.reader.json ) ressemble à :

{
  "enabled":true,"system":false,"flags":10010180,"packageName":"com.adobe.reader",
  "versionCode":73784,"label":"Adobe Reader","versionName":"10.5.2","locked":false,
  "date":1367072517125,"apk":false,"backup":true
}

Vous aurez également besoin :

  • un gestionnaire de fichiers
  • un rédacteur

Bien sûr, vous pouvez également effectuer les étapes ci-dessous à partir de votre ordinateur. Linux ordinateur ; si vous utilisez un autre système d'exploitation, faites attention à l'encodage et aux sauts de ligne du fichier.

Ce que nous faisons

Je choisis un exemple d'application ici : Kindle pour Android . Dans les captures d'écran de la question, il est répertorié à proximité de l'écran de l'entreprise. Adobe Reader comme com.amazon.kindle . Pour vos applications, il suffit de choisir les valeurs correspondantes sur la base de cet exemple :

  1. copie com.adobe.reader/com.adobe.reader.json a com.amazon.kindle/com.amazon.kindle.json
  2. ouvrir com.amazon.kindle/com.amazon.kindle.json avec un rédacteur
    • remplacer com.adobe.reader par com.amazon.kindle para packageName
    • remplacer Adobe Reader par Kindle for Android para label (en fait, vous pouvez mettre n'importe quoi ici - mais je préfère savoir ce que vous avez :)
    • éventuellement, remplacer le versionName en conséquence (cela fonctionnera sans)
    • enregistrer le fichier

Je ne suis pas sûr de ce que versionCode o flags donc on ferait mieux de ne pas y toucher. Nous pouvons aussi ignorer le reste sans risque :

  • "enabled"="true" devrait signifier "cette application est activée (c'est-à-dire qu'elle n'est pas gelée)".
  • "system"="false" : Ce n'est pas une application système (correspond à : Kindle n'est pas une application système)
  • "verrouillé"="faux" : Cette application n'est pas "protégée".
  • "date" contient évidemment un timestamp Unix (très probablement celui de la sauvegarde).
  • "apk"="false" : Ah, les données seulement (le défaut de Cabon est de ne pas inclure les .apk avec la sauvegarde, pour accélérer les choses)
  • "backup"="true" : C'est une blague ? Qu'est-ce que ça pourrait être d'autre ?

Maintenant, voyons d'abord si Carbone accepte notre tour. S'il répertorie correctement Kindle pour Android comme étant disponible pour une restauration, vous pourriez vouloir répéter les étapes ci-dessus pour vos autres sauvegardes également.

2voto

badp Points 475

C'est un peu compliqué, mais Carbon utilise le standard adb debug pour son fonctionnement. Cela signifie que le .ab n'est pas propriétaire et chacune des sauvegardes individuelles peut être restaurée à partir de la ligne de commande adb :

adb restore C:\whatever\Carbon\things.the.all\things.the.all.ab

...ou par le biais d'un outil graphique tel que Droid Explorer .

2voto

user35051 Points 21

J'ai eu le même problème et j'ai réussi à le faire fonctionner.

Après avoir réinstallé les applications que j'avais sauvegardées (Angry Birds dans mon cas), j'ai supprimé le dossier carbone du téléphone (en gardant une copie sur le PC). J'ai ensuite sauvegardé Angry Birds pour que le dossier carbone du téléphone soit recréé, etc. J'ai ensuite remplacé le nouveau fichier AB par celui que j'avais initialement sauvegardé. Lorsque j'ai restauré, j'ai pu voir l'application et j'ai pu restaurer.

2voto

rudolph Points 21

J'ai actuellement le même problème, mais j'ai trouvé la solution J'ai une Nexus 7 2013, avant de faire la mise à jour vers Android 5.0 j'ai copié le dossier carbon sur mon PC, après la mise à jour vers 5.0 j'ai remis le dossier carbon dans le dossier principal de la Nexus et cela n'a rien donné, mais après de longues recherches j'ai trouvé la solution :

  1. Ouvrir Windows PowerShell
  2. Collez-y ce code :
$subfolders = Get-ChildItem -Path 'Link to your PC carbon folder\*'
foreach ($f in $subfolders){
    if($f.Attributes.ToString() -eq "Directory") {
        $filecont="{`"enabled`":true,`"packageName`":`""+$f.name+"`",`"label`":`"" + $f.Name + "`",`"locked`":false,`"date`":1375398819080,`"apk`":true,`"backup`":true}"
        $fname= $f.FullName + "\" + $f.Name + ".json"
        [System.IO.File]::WriteAllText($fname, $filecont)
    }
}

Ce code ajoutera des fichiers .json dans le dossier de chaque application et cela fonctionne, maintenant toutes mes applications sont affichées dans l'onglet de restauration de Carbon.

This is how it looks after adding all .json files

Cliquez sur l'image pour l'agrandir

1voto

michel v Points 11

La réponse d'Izzy est un bon début : vérifiez que vous avez un fichier .json pour l'application.

Si vous ne disposez pas de ce fichier, avant de copier et de modifier le fichier .json d'une autre application, sauvegardez le fichier .ab de votre application quelque part, puis sauvegardez à nouveau l'application à l'aide de Carbon.

Il devrait enregistrer un fichier .json cette fois-ci. Vous pouvez alors remplacer le fichier .ab de la nouvelle sauvegarde par celui que vous devez restaurer, et l'application sera détectée par Carbon.

(Si cela ne permet toujours pas d'enregistrer un fichier .json, utilisez la méthode d'Izzy).

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