1 votes

adb restore se met en pause indéfiniment lorsque le téléphone source possède une carte SD et que le téléphone cible n'en possède pas

J'ai lancé une sauvegarde adb comme :

adb backup -apk -shared -all -nosystem -f /tmp/android-backup.ab

L'écran de progression de la sauvegarde a cessé d'afficher une quelconque progression, tout comme ma adb logcat | grep BackupManager . Quelques minutes plus tard, j'ai fait un test non filtré. logcat et j'ai trouvé :

10-27 13:57:59.716  1546 30369 D BackupManagerService: Invoking agent to restore file 1/Download/some.pdf
10-27 13:57:59.733 16987 16998 W Binder  : Binder call failed.
10-27 13:57:59.733 16987 16998 W Binder  : java.lang.ArrayIndexOutOfBoundsException: length=1; index=1
10-27 13:57:59.733 16987 16998 W Binder  :      at com.android.sharedstoragebackup.SharedStorageAgent.onRestoreFile(SharedStorageAgent.java:80)
10-27 13:57:59.733 16987 16998 W Binder  :      at android.app.backup.BackupAgent$BackupServiceBinder.doRestoreFile(BackupAgent.java:1112)
10-27 13:57:59.733 16987 16998 W Binder  :      at android.app.IBackupAgent$Stub.onTransact(IBackupAgent.java:179)
10-27 13:57:59.733 16987 16998 W Binder  :      at android.os.Binder.execTransact(Binder.java:682)
10-27 13:57:59.733 16987 16998 D SharedStorageAgent: Shared restore: [ shared : 1/Download/some.pdf]
10-27 13:57:59.734  1546  8971 V BackupManagerService: opComplete: f86aebb result=0

Comment puis-je changer mon approche pour que la restauration fonctionne la prochaine fois ?

1voto

carver Points 121

J'ai confirmé que some.pdf se trouve dans le dossier Téléchargements/ de la carte SD du téléphone source lors de la connexion par MTP. Je crois que le ArrayIndexOutOfBoundsException traceback est une façon très peu claire de dire qu'il n'y a pas de carte SD sur le téléphone cible, où adb restore essaie de pousser le fichier.

Je veux sauvegarder les fichiers partagés, mais pas ceux de la carte SD. Je ne vois pas de drapeaux dans adb shell bu help pour le faire.

Il semble donc que la meilleure solution soit de retirer la carte SD du téléphone source, si le téléphone cible n'a pas de carte SD installée.

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