0 votes

L'écran du S3 est cassé, le mode développeur est activé, comment transférer les données ?

L'écran de mon Galaxy S3 s'est cassé et je dois transférer une application qui se trouve sur mon téléphone vers mon ordinateur. J'ai activé le mode développeur sur le téléphone et je veux pouvoir transférer l'application sans ouvrir la carte mère. Mais je ne peux pas déverrouiller physiquement le téléphone à cause de l'écran cassé, alors comment faire ?

(Lorsque je dis que j'ai activé le mode développeur, je veux dire que je peux installer sur mon téléphone des applications que j'ai écrites dans Eclipse et les faire fonctionner. Si ce n'est pas ce que cela signifie, c'est une erreur. Mais si c'est le cas, comment puis-je accéder à mes affaires avec un écran verrouillé ?)

2voto

samnaction Points 2933

Vous pouvez extraire l'apk de l'appareil Android en utilisant adb pull.

  1. adb shell pm list packages

La liste des noms de paquets de toutes les applications s'affichera. Voir le nom du paquet de votre application. Le nom de l'application peut être différent du nom du paquet. Il sera principalement dans /data/app

Si ce n'est pas le cas obtenir le chemin en utilisant adb shell pm path com.the app you need to.transfer

2 a. adb pull /data/app/com.the app you need to.transfer.apk . Ceci transférera l'apk à partir du lecteur que vous avez exécuté. Eg: D:

(ou)

2.b. adb backup -apk com.the app you need to .transfer

Cela créera sauvegarde.ab . Vous pouvez en faire un tar et l'extraire à l'aide de winrar.

dd if=backup.ab bs=24 skip=1 | openssl zlib -d > backup.tar

S'il n'y a pas de support zlib, vous pouvez essayer

dd if=data.ab bs=1 skip=24 | python -c "import zlib,sys;sys.stdout.write(zlib.decompress(sys.stdin.read()))" | tar -xvf -

Note : Ne pas définir de mot de passe pour crypter la sauvegarde.

1voto

sker Points 2670

J'ai réussi à faire une sauvegarde adb de mon téléphone en me basant sur la réponse de @sameer. Cependant, comme indiqué dans les commentaires, vous devez confirmer la sauvegarde à l'aide de l'écran après avoir exécuté la commande adb backup commandement.

Il faut donc tout d'abord que vous ayez adb installés. Assurez-vous que votre appareil apparaît et qu'il est autorisé :

# adb devices                                                                                                                                    
List of devices attached                                                                                                                                                
EP732284Z8      device 

Exécutez ensuite adb shell input pour s'assurer que les commandes que nous allons utiliser sont présentes. Vous devriez voir quelque chose comme ça :

# adb shell input
Usage: input [<source>] <command> [<arg>...]                                                                                                                 

The sources are:                                                                                                                                             
      mouse                                                                                                                                                  
      keyboard                                                                                                                                               
      joystick                                                                                                                                               
      touchnavigation                                                                                                                                        
      touchpad                                                                                                                                               
      trackball                                                                                                                                              
      stylus                                                                                                                                                 
      dpad                                                                                                                                                   
      touchscreen                                                                                                                                            
      gamepad                                                                                                                                                

The commands and default sources are:                                                                                                                        
      text <string> (Default: touchscreen)                                                                                                                   
      keyevent [--longpress] <key code number or name> ... (Default: keyboard)                                                                               
      tap <x> <y> (Default: touchscreen)                                                                                                                     
      swipe <x1> <y1> <x2> <y2> [duration(ms)] (Default: touchscreen)                                                                                        
      press (Default: trackball)                                                                                                                             
      roll <dx> <dy> (Default: trackball)  

Ensuite, nous installerons TouchControl de pouvoir voir ce qui se passe à l'écran. Cela ne fonctionnera pas si votre appareil n'est pas déjà en mode de débogage USB et autorisé (c'est-à-dire si vous voyez "unauthorized" ou "offline" après avoir exécuté la première commande). J'ai installé la version Linux. J'ai dû installer boost pour que cela fonctionne. Cela devrait fonctionner sous Windows également.

Nous devons déverrouiller l'appareil. Pour cela, nous utiliserons "adb shell input swipe [x1] [y1] [x2] [y2] [duration]" avec (x1, y1, x2, y2) en fonction de votre appareil et la durée peut être de 250 (en ms). À titre de référence, vous pouvez consulter les chiffres dans ce dossier (recherchez "shell input swipe"). Dans mon cas, la résolution de mon appareil est de "1920x1080", j'ai donc regardé la partie qui disait " if (i.toStdString() == "1080x1920") { . Ce code effectue un balayage de gauche à droite. J'ai besoin de déverrouiller mon appareil en glissant de bas en haut, j'ai donc utilisé (300, 1100, 300, 950) avec une durée de 300, c'est-à-dire "adb shell input swipe 300 1100 300 950 300". Vous devrez expérimenter avec les valeurs et voir ce qui change sur l'écran "virtuel" pour obtenir un résultat correct. Dans mon cas, (0, 0) était en haut à gauche et (300, 1100) en bas au milieu.

Si vous disposez d'un mot de passe ou d'un code PIN, vous pouvez le saisir en utilisant la fonction adb shell input text "<yourpasswordhere>" . Si vous avez un modèle, vous devrez déterminer les coordonnées de chaque point et créer votre modèle à l'aide de adb shell swipe commandes. (Bonne chance, cela prendra du temps). Sinon, vous pouvez essayer des applications de contournement du verrouillage de l'écran et les installer via adb install . Je n'ai rien eu de tout cela, donc je ne sais pas ce qui fonctionnera pour vous.

Exécutez maintenant le adb backup commandement :

# adb backup -apk -shared -obb -all -system -f ./android-backup.ab
Now unlock your device and confirm the backup operation.

Vous obtiendrez alors un écran comme celui-ci (cliquez sur l'image pour l'agrandir) :

backup screen

Nous allons donc appuyer deux fois sur la touche "TAB" pour atteindre le bouton "SAUVEGARDE DE MES DONNÉES", puis appuyer sur "ENTRÉE" pour confirmer. En fait, d'après les chiffres dans cette réponse :

adb shell input keyevent 61
adb shell input keyevent 61
adb shell input keyevent 66

Votre sauvegarde a commencé. Bravo !

P.S. Pour voir la progression de votre mise à jour, vous pouvez regarder la taille du fichier augmenter. Sous Linux, vous pouvez lancer une commande comme celle-ci : watch -n 5 "du -h ./*.ab" o watch -n 5 "du --time -m ./*.ab"

P.P.S. Vous pouvez utiliser une commande comme adb shell input swipe 300 0 300 950 300 pour ouvrir votre tiroir de notification et abd shell input tap [x1] [y1] pour appuyer sur les notifications puis adb shell text [sometext] à écrire. Et vous pouvez utiliser adb shell input keyevent [61|66] d'appuyer sur pratiquement n'importe quoi sans connaître leurs coordonnées.

P.P.P.S. Je suis sur un Xpreria ZR fonctionnant sous "10.7.A.0.222" Android version 5.1.1. Vos commandes exactes peuvent varier en fonction de la résolution de votre écran et de la version d'Android (par exemple, la façon de déverrouiller est différente, le nombre de fois où il faut appuyer sur la touche TAB est différent, etc.)

J'espère que cela vous aidera !

1voto

Milner Points 533

Avec débogage usb activé (que vous décrivez comme le "mode développeur"), vous pouvez utiliser par exemple Barre d'adresse pour créer une sauvegarde ADB. Récemment, l'approbation automatique des sauvegardes ainsi que le déverrouillage automatique (expérimental et ne fonctionnant qu'avec "glisser pour déverrouiller" - pas avec le verrouillage par PIN/mot de passe/modèle) ont été ajoutés. Dans sa configuration, définissez AUTO_CONFIRM=1 (pour confirmer automatiquement les sauvegardes sur l'appareil), et éventuellement AUTO_UNLOCK=1 (peut fonctionner ou non, n'a pas encore été testé à grande échelle). Ajustez les autres paramètres selon vos souhaits, puis exécutez le programme.

Ensuite, vous trouverez deux scripts de sauvegarde dans le répertoire de sortie : un pour les "applications utilisateur" et un pour les "applications système". Vous pouvez éventuellement les vérifier avant (et commenter ce que vous ne voulez pas sauvegarder), puis les exécuter. Des archives de sauvegarde séparées ( .ab ) sont créées, une par application ; pour les applications-utilisateurs, elles comprennent le fichier .apk et des données, pour les données de l'application système uniquement.

Il convient de noter que adb backup ne fonctionne pas pour toutes les applications : les applications peuvent s'en affranchir en paramétrant l'option ALLOW_BACKUP=FALSE dans leur manifeste. Sur les appareils rootés avec Xposed, un module appelé Sauvegarde de toutes les applications peut être utilisé pour contourner ce problème. Mais dans votre cas, cela pourrait être difficile à installer (avec un écran cassé).

Divulgation : Je suis le dev de Barre d'adresse.

0voto

Quandary Points 974

Si vous pouvez déboguer votre application écrite dans eclipse sur votre téléphone, je suppose que vous avez déjà activé le débogage USB.

Moborobo PC Suite peut transférer des fichiers depuis votre téléphone, y compris des applications avec des données, et nécessite l'activation du débogage USB. Dans le gestionnaire d'applications, faites un clic droit sur l'application et vous verrez apparaître l'option Exporter. Vous pouvez alors sauvegarder votre application sur votre PC.

Moborobo PC Suite - App Manager

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