Verwendung des Befehls adb zum Übertragen einer Datei auf ein Gerät ohne SD-Karte


104

So übertragen Sie eine Datei vom Computer auf ein Android-Gerät ohne SD-Karte. Ich habe es versucht:

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)

obige Befehle zum Verschieben einer Datei anand.jpgauf ein Gerät, aber ich habe diese jpgDatei nicht auf dem Gerät erhalten. Ich habe auf der cmd-Eingabeaufforderung kein Erfolgsergebnis erhalten, sondern nur:

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

3
Versuchen Sie es adb shell "cd /data/local && mkdir tmp"dann adb push anand.jpg /data/local/tmp. Wie überprüfen Sie die Datei auf dem Gerät mit adb shell?

@RC Ich benutze den Befehl ls, um die Dateien zu überprüfen. Ich habe es zumindest in der DDMS-Ansicht auf dem Emulator. Aber ich habe es immer noch nicht auf dem Gerät bekommen. Wenn ich den Befehl "adb push" versuche, wird das Gerät angezeigt, das für das echte Gerät nicht gefunden wurde. aber adb Geräte zeigt das Gerät.
Nikhil Kumar

Ich würde den Emulator stoppen, das Gerät ausstecken und dann, nachdem ich sichergestellt habe, dass sich das Gerät im Debug-Modus befindet, das Gerät anschließen und es erneut versuchen

1
Diese Frage scheint nicht zum Thema zu gehören, da es nicht um Programmierung geht. Weitere Informationen zu Themen finden Sie hier in der Hilfe. Vielleicht wäre Android Enthusiasts Stack Exchange ein besserer Ort, um zu fragen.
Jww

Der Vorschlag von RC hat in dieser Variante für mich funktioniert: adb shell "cd /sdcard && mkdir temp"Dann abd push x.apk /sdcard/temp"landete ich mit meiner Datei im temporären Ordner auf meiner SD-Karte und konnte von dort aus flashen.
Kajetan Abt

Antworten:


129

Vom Ubuntu Terminal funktioniert unten für mich.

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

Ich arbeite an Windows Cmd Eingabeaufforderung können Sie mir bitte in Windows sagen, wie es geht.
Nikhil Kumar

Entfernen Sie einfach './' und verwenden Sie einfach adb oder adb.exe. Stellen Sie sicher, dass Sie sich im Ordner "Plattform-Tools" befinden, wenn Sie keinen Pfad für Android festgelegt haben.
Hardik Trivedi

2
Können wir das tun, ohne das Telefon zu rooten?
Jacob

2
@HardikTrivedi: Wollen Sie damit sagen, dass Rooting erforderlich ist, um adb push im Allgemeinen oder für dieses bestimmte Dateiziel zu verwenden? Ich verwende adb push, um eine Datei auf die SD-Karte des Android-Geräts auf einem nicht gerooteten Gerät zu schreiben.
RenniePet

2
Damit der Push-Befehl auch für nicht gerootete Telefone funktioniert, ist nur der Ordner / data erforderlich.
Hardik Trivedi

32

Ich habe es mit diesem Befehl gemacht:

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

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


1
Ich habe gerade eine MP3-Datei von Mac OSX auf ein Android 5.0-Gerät verschoben und musste den Namen der Datei auf dem Gerät schreiben, dh "adb push /file.mp3 /sdcard/fileOrOtherFileName.mp3"
DoruChidean

28

Folge diesen Schritten :

Gehen Sie zu Android Sdk und dann zu "Plattform-Tools" auf Ihrem Terminal oder Ihrer Konsole

(Auf dem Mac lautet der Standardpfad: / Users / USERNAME / Library / Android / sdk / platform-tools)

Um die auf Ihrem Gerät installierten SDCards (extern und intern) zu überprüfen, führen Sie die folgenden Befehle aus:

  • 1) ./adb Shell ( drücken Sie die Eingabetaste / Eingabetaste)
  • 2) cd - (drücken Sie die Eingabetaste / Eingabetaste)

Jetzt sehen Sie die Liste der Verzeichnisse und Dateien von Ihrem Android-Gerät. Dort finden Sie möglicherweise / sdcard sowie / storage

  • 3) CD / Speicher (drücken Sie die Eingabetaste / Eingabetaste)
  • 4) ls ( drücken Sie die Eingabetaste / Eingabetaste)

Möglicherweise sehen Sie sdcard0 (im Allgemeinen ist sdcard0 interner Speicher) und sdcard1 (wenn eine externe SDCard vorhanden ist).

  • 5) beenden (drücken Sie die Eingabetaste / Eingabe)

aus adb shell kommen

  • 6) ./adb push '/Users/SML/Documents/filename.zip' / storage / sdcard0 / path_to_store / ( drücken Sie die Eingabetaste / Eingabetaste)

Datei kopieren


11

Manchmal brauchen Sie die Erweiterung,

adb push file.zip /sdcard/file.zip


1
Ich habe LG Nexus 5 und Sie können keine externe SD-Karte einlegen, aber ein Teil des internen Speichers verhält sich wie eine SD-Karte. In diesem Fall ist SD-Karte nur ein Verzeichnis auf der Stammebene. Sie können dies überprüfen, indem Sie 'adb shell' aufrufen. Wenn Sie in der Shell sind, rufen Sie 'ls' für eine Verzeichnisliste auf
cstuncsik

8

Führen Sie zuerst den folgenden Befehl aus

adb root
adb remount

Führen Sie dann das aus, was Sie zuvor eingegeben haben

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

4

Ich habe ein Nexus 4, das ohne externen Speicher ist. Android glaubt jedoch, eine zu haben, da es eine separate Partition namens "storage" bereitstellt, die in "/ storage / emulated / Legacy" eingehängt ist. Versuchen Sie also, dort zu pushen:adb push anand.jpg /storage/emulated/legacy


Für meinen Nexus 4 funktionierte /sdcard.file.zip wie ein Zauber.
Sud007

4

Meine Lösung (Beispiel mit einer zufälligen mp4-Videodatei):

  1. Stellen Sie eine Datei auf Gerät ein:

    adb push /home/myuser/myVideoFile.mp4 /storage/emulated/legacy/
  2. Holen Sie sich eine Datei vom Gerät:

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

So rufen Sie den Pfad im Code ab:

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

Das ist alles. Diese Lösung gibt keine Berechtigungsprobleme und funktioniert einwandfrei.

Letzter Punkt: Ich wollte die Video-Metadateninformationen ändern. Wenn Sie in Ihr Gerät schreiben möchten, sollten Sie die Berechtigung in der ändern AndroidManifest.xml. Fügen Sie diese Zeile hinzu:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

3

Da gibt es unterschiedliche Pfade für unterschiedliche Versionen. Hier ist eine generische Lösung:

Finde den Weg ...

  1. Geben Sie adb shellin die Befehlszeile ein.
  2. Dann lsund Enter.

Jetzt sehen Sie die Dateien und Verzeichnisse des Android-Geräts. Jetzt mit Kombination von lsund cd dirNamefinden Sie den Pfad zum internen oder externen Speicher.

Im Root - Verzeichnis, werden die Verzeichnisse Namen wie mnt, sdcard, emulator0,etc

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


3

Versuchen Sie dies, um den internen Speicher einzuschieben.

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

Funktioniert in einem Plus-Gerät ohne SD-Karte.


0

Sie versuchen, in Systemordner zu schreiben. Mit ADB haben Sie Root-Zugriff (Administratorzugriff), sodass Sie die Systemordner sehen, zu denen auch die SD-Karte gehört, um ein Bild zu senden, das Sie verwenden können

D: \ Programme \ Android \ sdk \ Plattform-Tools \ ADB Push-Am-Dateien \ Android SDK \ Adb.exe Push C: \ Downloads \ anand.jpg / SD-Karte / Bilder /

NB: C: \ Downloads \ anand.jpg durch Pfad und Namen zum Bild ersetzen.


0

Bestimmte Versionen von Android lösen keine ordnungsgemäßen Aufgaben zum Aktualisieren des Status des Dateisystems aus. Sie können eine explizite Absicht zum Aktualisieren des Status des Dateisystems auslösen. (Ich habe gerade getestet, nachdem ich mich in derselben OP-Situation befunden hatte)

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

(Sie könnten einen bestimmten Dateipfad statt passieren file:///wie file:///sdcard)


0

In meinem Fall hatte ich eine bereits entfernte SDCard noch in Android registriert. Also habe ich den Eintrag für meine alte SDCard unter:

Settings | Storage & USB

und wählte "Vergessen".

Danach eine normale

adb push myfile.zip /sdcard/

hat gut funktioniert.


0

Dies ist möglicherweise die beste Antwort, die Sie lesen können. Android Studio einrichten Gehen Sie dann einfach zum Anzeigen und Öffnen des Geräte-Explorers. Klicken Sie mit der rechten Maustaste auf den Ordner und laden Sie einfach eine Datei hoch.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.