2 votes

Pousser des répertoires vides avec ADB

Qu'est-ce que je veux ?

Je souhaite transférer certains répertoires de mon ordinateur vers mon téléphone Android. Les répertoires sont vides, mais le nom du dossier contient des méta-données importantes. La structure n'est pas modifiable.

Quel est le problème ?

Si j'essaie de pousser via adb, j'obtiens l'avertissement suivant :

adb: warning: skipping empty directory 

Qu'ai-je essayé ?

En guise de solution de rechange, je pourrais utiliser le protocole MTP. Mais ce protocole n'est pas stable et plante souvent, surtout si l'on veut copier plusieurs fichiers. Je n'arrive pas à le faire fonctionner sous linux de toute façon, donc adb semble être le meilleur choix.

Mes questions

  1. Pourquoi sauter les répertoires vides ? Cela me semble être un choix de conception arbitraire (et ennuyeux).

  2. Existe-t-il un indicateur permettant de NE PAS ignorer les répertoires vides ?

  3. Existe-t-il une solution de contournement ?

2voto

pr0nin Points 353

Je ne vois pas de moyen de contourner cette limitation d'adb dans l'application code source adb . Ce qui est triste, c'est qu'il y a déjà un ticket de bug mentionné pour changer ce comportement (le commentaire a été ajouté en novembre 2015).

Pour pousser des répertoires vides, j'essaierais de construire une archive TAR (par exemple my.tar ), et exécuter l'extraction de tar sur l'appareil via adb shell en fournissant l'archive TAR via stdin :

adb shell tar xv -C /storage/emulated/0 < my.tar

Si les fichiers tar contiennent des répertoires vides, ils seront correctement extraits sur l'appareil.

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