1 votes

Copier les contacts vers la carte SD depuis Android 2.3

Comment copier mes contacts de mon sony ericsson wt19i Android 2.3 sur la carte SD ? J'ai essayé de le faire par adb, mais ça ne marche pas. Je le fais comme ceci : adb devices

adb shell

su

mount -o rw,remount rootfs /

chmod 777 /mnt/sdcard

adb pull /data/data/com.android.providers.contacts/databases/contacts2.db /mnt/sdcard/tmp/contacts2.db

une erreur apparaît :

adb : non trouvé

que dois-je faire ?

1 votes

Vous ne pouvez pas les exporter depuis l'application Contacts ?

0voto

Tamoghna Chowdhury Points 3137

Merci à @Firelord pour m'avoir généreusement aidé lorsque je suis sorti de mes gonds. La description du problème et les notes sur les solutions ont été faites en utilisant ses commentaires comme référence.

Problème :

C'est parce qu'après avoir émis adb shell vous êtes dans le shell système d'Android et ne pouvez pas utiliser la fonction adb pull plus, car le binaire ADB client que vous avez invoqué existe sur votre PC de développement, et non sur le périphérique connecté lui-même. L'appareil agit comme un serveur et le PC de développement comme un client. Le client émet les commandes et le serveur y répond. Le serveur lui-même ne peut pas émettre de commande.

L'ADB sur l'appareil lui-même peut également faire office de client, avec deux réserves :

  1. ADB d'un appareil vers le même appareil nécessite que ADB fonctionne en mode sans fil et en mode bouclage.
  2. L'autre appareil, supposé être le "serveur", doit initialement être connecté via OTG à l'appareil client ADB (plus tard client & serveur) afin que ADB puisse y être redémarré en mode sans fil.

TL;DR

Si vous êtes en train de courir adb de la platform-tools du répertoire d'installation du SDK Android, essayez d'émettre ./adb pull au lieu de adb pull dans le cas où vous êtes sous Linux, et, je suppose, similaire avec Windows. ADB n'est probablement pas dans votre variable PATH. Le terminal se souvient de l'historique du dossier 1 niveau plus bas, et le dossier local par défaut n'est pas inclus dans la variable PATH.

SOURCE : Ce site sur StackOverflow.

Résolution :

Ce que vous devez faire après le chmod La commande est entrée exit suivi par adb pull... . Le site exit devrait vous faire sortir de l'interpréteur de commandes du système pour revenir au terminal/à l'invite dans lequel vous utilisiez adb sur votre PC, d'où vous pourrez utiliser en toute sécurité la commande adb pull .

Résolution alternative :

Vous pouvez également utiliser cp au lieu de adb pull après chmod pour copier le fichier de la base de données. Ils ont le même modèle d'utilisation, et cp est bien disponible dans la session shell.

Notes :

  1. J'ai un petit problème avec la manière dont vous utilisez adb pull pour copier les fichiers de votre /data/data sur votre carte SD, ce qui pourrait facilement être accompli avec un explorateur de racines ou cp dans une session shell.

  2. Assurez-vous que vous avez émis adb root avant cet ensemble de commandes sous Résolution : pour que le démon adb fonctionne en tant que Root et puisse accéder à /data et ses sous-répertoires.

PS:

D'après le commentaire de @Firelord, adb root ne fonctionnera que si vous avez défini l'option ro.secure dans votre build.prop a 0 au lieu de 1 , donde 1 est généralement la valeur par défaut, à l'exception de certaines ROMs personnalisées permettant le débogage. Dans ce cas, prenez le cp alternative.

  1. J'ai personnellement été confronté à ce problème et j'ai évité de mélanger les sessions ADB et shell à partir de ce moment-là.

0 votes

adb help n'est pas une exception. Vous pouvez utiliser toutes les commandes adb à partir de l'appareil lui-même. Cela fonctionne de la manière suivante : normalement, l'appareil Android agit comme un serveur et le PC avec adb comme un client. Le client émet des instructions à l'aide de commandes et le serveur y répond. ADB dans l'appareil peut également agir comme un client, mais avec certaines modifications : 1) ADB doit fonctionner en mode sans fil et en mode bouclage si vous voulez exécuter des commandes adb sur le même appareil à partir du même appareil, 2) l'autre appareil, censé être un serveur, doit être connecté en utilisant OTG brièvement afin que le démon adb puisse être redémarré en mode sans fil.

0 votes

adb root fonctionnerait si ro.secure est fixé à 0, ce qui n'est souvent pas le cas par défaut. Si l'accessoire est réglé sur 1, l'utilisateur rencontrera l'erreur. Envisagez de mentionner une solution de contournement pour le problème si vous avez l'intention de conserver cette option. adb root point dans la réponse.

0 votes

@Firelord, regardez le montage et le TL;DR.

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