comment utiliser la commande adb pour envoyer un fichier sur un périphérique sans carte SD

Comment pousser un fichier d’un ordinateur vers un appareil Android n’ayant pas de carte SD. J’ai essayé:

C:\anand>adb push anand.jpg /data/local 3399 KB/s (111387 bytes in 0.032s) C:\anand>adb push anand.jpg /data/opt 3199 KB/s (111387 bytes in 0.034s) C:\anand>adb push anand.jpg /data/tmp 3884 KB/s (111387 bytes in 0.028s) 

commandes ci-dessus pour déplacer un fichier anand.jpg vers le périphérique mais je n’ai pas eu ce fichier jpg dans le périphérique. Je n’ai pas eu de résultat de réussite sur l’invite cmd, j’ai seulement eu:

 3399 KB/s (111387 bytes in 0.032s). 

Du Terminal Ubuntu, ci-dessous fonctionne pour moi.

 ./adb push '/home/hardik.sortingvedi/Downloads/one.jpg' '/data/local/' 

Je l’ai fait en utilisant cette commande:

syntaxe: adb push filename.extnsion /sdcard/0/

exemple: adb push UPDATE-SuperSU-v2.01.zip /sdcard/0/

Suivez ces étapes :

aller sur Android Sdk puis “platform-tools” sur votre terminal ou console

(sur mac, le chemin par défaut est: / Users / USERNAME / Library / Android / sdk / platform-tools)

Pour vérifier les SDCards (externes et internes) installés sur votre appareil, lancez ces commandes:

  • 1) ./adb shell (touche retour / entrée)
  • 2) cd – (touche retour / entrée)

Vous pouvez maintenant voir la liste des répertoires et fichiers de votre appareil Android que vous pouvez trouver / sdcard ainsi que / storage

  • 3) cd / storage (appuyez sur retour / entrée)
  • 4) ls (touche retour / entrée)

vous pouvez voir sdcard0 (généralement sdcard0 est le stockage interne) et sdcard1 (si la carte SD externe est présente)

  • 5) sortir (taper retour / entrer)

sortir de shell adb

  • 6) ./adb push ‘/Users/SML/Documents/filename.zip’ / storage / sdcard0 / path_to_store / (appuyez sur Entrée / Retour)

copier un fichier

Parfois, vous avez besoin de l’extension,

adb push file.zip /sdcard/file.zip

exécuter ci-dessous commande tout d’abord

 adb root adb remount 

Ensuite, exécutez ce que vous avez saisi précédemment

 C:\anand>adb push anand.jpg /data/local C:\anand>adb push anand.jpg /data/opt C:\anand>adb push anand.jpg /data/tmp 

Ma solution (exemple avec un fichier vidéo mp4 aléatoire):

  1. Définissez un fichier sur le périphérique:

     adb push /home/myuser/myVideoFile.mp4 /storage/emulated/legacy/ 
  2. Récupère un fichier depuis le périphérique:

     adb pull /storage/emulated/legacy/myVideoFile.mp4 

Pour récupérer le chemin dans le code:

 Ssortingng myFilePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/myVideoFile.mp4"; 

C’est tout. Cette solution ne pose pas de problèmes de permission et fonctionne correctement.

Dernier point: je voulais changer les informations sur les métadonnées vidéo. Si vous souhaitez écrire dans votre appareil, vous devez modifier l’autorisation dans le AndroidManifest.xml . Ajoutez cette ligne:

  

J’ai un Nexus 4, c’est-à-dire sans stockage externe. Cependant, Android pense en avoir un, car il monte une partition séparée appelée “storage”, montée dans “/ storage / emulated / legacy”, alors essayez d’y adb push anand.jpg /storage/emulated/legacy : adb push anand.jpg /storage/emulated/legacy

Comme il existe différents chemins pour différentes versions. Voici une solution générique:

Trouvez le chemin …

  1. Entrez le adb shell dans la ligne de commande.
  2. Puis ls et Enter.

Maintenant, vous verrez les fichiers et répertoires du périphérique Android. Maintenant, avec la combinaison de ls et de cd dirName trouve le chemin vers le stockage interne ou externe.

Dans le répertoire racine, les noms de répertoires seront comme mnt, sdcard, emulator0, etc.

Exemple: adb push file.txt mnt/sdcard/myDir/Projects/

Vous essayez d’écrire dans les dossiers système. Avec ADB, vous avez un access root (admin) pour que vous puissiez voir les dossiers système dont sdcard est l’un d’eux pour pouvoir envoyer une image que vous pourriez utiliser

D: \ Program Files \ Android \ sdk \ outils-plate-forme \ adb fichiers push \ android sdk \ adb.exe push C: \ Downloads \ anand.jpg / sdcard / images /

NB: C: \ Downloads \ anand.jpg remplacer par path et name to picture ..

Certaines versions d’Android ne déclenchent pas les tâches appropriées pour mettre à jour l’état du système de fichiers. Vous pouvez déclencher une intention explicite de mettre à jour le statut du système de fichiers. (Je viens de tester après avoir été dans la même situation que l’OP)

 adb shell am broadcast -a android.intent.action.MEDIA_MOUNTED -d file:/// 

(Vous pourriez passer un chemin de file:/// spécifique au lieu du file:/// comme file:///sdcard )

Dans mon cas, j’avais déjà une carte SD déjà retirée enregistrée sous Android. J’ai donc longtemps saisi l’entrée pour mon ancienne carte SD sous:

Settings | Storage & USB

et sélectionné “Forget”.

Après une normale

adb push myfile.zip /sdcard/

a bien fonctionné.