comment utiliser la commande adb pour pousser un fichier sur un appareil sans carte sd

104

Comment transférer un fichier d'un ordinateur vers un appareil Android ne contenant 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)

ci-dessus pour déplacer un fichier anand.jpgvers l'appareil, mais je n'ai pas obtenu ce jpgfichier dans l'appareil. Je n'ai obtenu aucun résultat de réussite sur l'invite cmd, je n'ai obtenu que:

3399 KB/s (111387 bytes in 0.032s).
Nikhil Kumar
la source
3
Essayez adb shell "cd /data/local && mkdir tmp"alors adb push anand.jpg /data/local/tmp. Comment recherchez-vous le fichier sur l'appareil, avec adb shell?
@RC J'utilise la commande ls pour vérifier les fichiers. Je l'ai eu au moins sur la vue DDMS sur l'émulateur, mais je ne l'ai toujours pas obtenu sur l'appareil. quand j'essaye la commande "adb push", il montre le périphérique non trouvé pour le vrai périphérique. mais les appareils adb montrent l'appareil.
Nikhil Kumar
J'arrêterais l'émulateur, débrancher l'appareil, puis après
1
Cette question semble être hors sujet car elle ne concerne pas la programmation. Consultez la rubrique Quels sujets puis-je poser ici dans le centre d'aide. Peut-être qu'Android Enthusiasts Stack Exchange serait un meilleur endroit pour demander.
jww
La suggestion de RC a fonctionné dans cette variante pour moi: adb shell "cd /sdcard && mkdir temp"puis abd push x.apk /sdcard/temp"j'ai fini avec mon fichier dans le dossier temporaire de ma carte SD, et j'ai pu flasher à partir de là.
Kajetan Abt

Réponses:

130

À partir du terminal Ubuntu, ci-dessous fonctionne pour moi.

./adb push '/home/hardik.trivedi/Downloads/one.jpg' '/data/local/'
Hardik Trivedi
la source
Je travaille sur l'invite Windows cmd peut u plz me dire dans Windows comment le faire.
Nikhil Kumar
supprimez simplement «./» et utilisez adb ou adb.exe simple. Assurez-vous que vous êtes dans le dossier platform-tools si vous n'avez pas défini le chemin pour Android.
Hardik Trivedi
2
Pouvons-nous faire cela sans rooter le téléphone?
Jacob
2
@HardikTrivedi: Êtes-vous en train de dire que le rooting est nécessaire pour utiliser adb push en général, ou pour cette destination de fichier particulière? J'utilise adb push pour écrire un fichier sur la carte SD de l'appareil Android sur un appareil non rooté.
RenniePet
2
Pour pousser la commande fonctionne également pour les téléphones non rootés, seul le dossier / data nécessite un utilisateur rooté.
Hardik Trivedi
33

Je l'ai fait en utilisant cette commande:

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

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

Vincsilver
la source
1
vient de déplacer un fichier mp3 de mac osX vers un appareil Android 5.0 et j'ai dû écrire le nom du fichier pour qu'il soit sur l'appareil, c'est-à-dire "adb push /file.mp3 /sdcard/fileOrOtherFileName.mp3"
DoruChidean
28

Suivez ces étapes :

allez sur Android Sdk puis chemin '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 cartes SD (externes et internes) installées sur votre appareil, lancez ces commandes:

  • 1) ./adb shell (appuyez sur retour / entrée)
  • 2) cd - (appuyez sur retour / entrée)

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

  • 3) cd / stockage (appuyez sur retour / entrée)
  • 4) ls (appuyez sur 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) sortie (appuyez sur retour / entrée)

sortir du shell adb

  • 6) ./adb push '/Users/SML/Documents/filename.zip' / storage / sdcard0 / path_to_store / (appuyez sur retour / entrée)

copier le fichier

SML
la source
11

Parfois, vous avez besoin de l'extension,

adb push file.zip /sdcard/file.zip

Jonas Borggren
la source
1
J'ai LG Nexus 5 et vous ne pouvez pas y mettre de carte sd externe, mais une partie de la mémoire interne se comporte comme une carte SD Dans ce cas, sdcard est juste un répertoire au niveau de la racine Vous pouvez le vérifier en appelant 'adb shell' Lorsque vous êtes dans le shell, appelez 'ls' pour la liste des répertoires
cstuncsik
8

exécutez d'abord la commande ci-dessous

adb root
adb remount

Puis exécutez ce que vous avez entré 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
Rocky Chen
la source
4

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 "stockage", montée dans "/ stockage / émulé / héritage", alors essayez de pousser là-bas:adb push anand.jpg /storage/emulated/legacy

Maik
la source
Pour mon nexus 4 /sdcard.file.zip a fonctionné comme un charme.
sud007
4

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

  1. Définissez un fichier sur l'appareil:

    adb push /home/myuser/myVideoFile.mp4 /storage/emulated/legacy/
  2. Obtenez un fichier de l'appareil:

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

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

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

C'est tout. Cette solution ne pose aucun problème d'autorisation et fonctionne correctement.

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

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Alex
la source
3

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

Trouvez le chemin ...

  1. Entrez adb shellen ligne de commande.
  2. Puis lset entrez.

Vous verrez maintenant les fichiers et les répertoires de l'appareil Android. Maintenant , avec une combinaison de lset cd dirNametrouver le chemin vers le stockage interne ou externe.

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

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

M. Usman Khan
la source
3

Essayez ceci pour pousser dans le stockage interne.

adb push my-file.apk ./storage/emulated/0/

Fonctionne dans l'appareil One plus, sans carte SD.

Naitik Soni
la source
0

Vous essayez d'écrire dans des dossiers système. Avec ADB, vous avez un accès root (admin) afin de voir les dossiers système dont sdcard est l'un d'entre eux afin d'envoyer une image que vous pouvez utiliser

D: \ Program Files \ Android \ sdk \ platform-tools \ adb push am files \ android sdk \ adb.exe push C: \ Downloads \ anand.jpg / sdcard / pictures /

NB: C: \ Downloads \ anand.jpg remplacer par le chemin et le nom de l'image.

user3555061
la source
0

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 mise à jour de l'état du système de fichiers. (Je viens de tester après avoir été dans la même situation OP)

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

(Vous pouvez passer un chemin de fichier spécifique au lieu de file:///like file:///sdcard)

solveur
la source
0

Dans mon cas, j'avais une SDCard déjà supprimée encore enregistrée dans Android. J'ai donc longtemps appuyé sur l'entrée de mon ancienne carte SD sous:

Settings | Storage & USB

et sélectionné "Oublier".

Après une normale

adb push myfile.zip /sdcard/

a bien fonctionné.

Poignard
la source
0

C'est peut-être la meilleure réponse que vous pourrez lire. Configurer Android Studio Ensuite, allez simplement pour afficher et ouvrir l'explorateur de périphériques. Faites un clic droit sur le dossier et téléchargez simplement un fichier.

Rushabh Gedam
la source