Die Befehle 'push' und 'pull' geben "push: not found" zurück

Ich kann anscheinend keine Dateien von meinem Telefon abrufen oder übertragen. Die Datei existiert, und ich kann in die ADB-Shell gelangen. adb pullAber ob ich den Befehl oder adb shellund dann mache pull, es funktioniert nicht.

Wenn ich es über die Shell mache, gibt es mir 'push: not found'. Wenn ich das adb pullauf der Windows-Befehlszeile mache, bekomme ich nur eine Liste aller ADB-Befehle (also versteht es weder Push noch Pull).

Ich verwende die korrekte Syntax:

  • Innerhalb der Schale:push (or pull) /path/to/file
  • Außenhülle:adb push (or pull) /path/to/file

Ich arbeite auch als root.

Die Datei, die ich brauche, scheint für den grafischen Dateimanager, den ich auf dem Telefon habe, nicht sichtbar zu sein, obwohl er Root-Berechtigungen hat und versteckte Dateien anzeigt. Es ist sichtbar über adb, also ist es definitiv da!

Was ist falsch und wie kann ich es beheben?

Sie listen den Pfad zur Datei auf, nachdem Sie adb pull oder adb push von der Windows-Befehlszeile verwendet haben? Wenn Sie nur adb push ohne etwas anderes eingeben, erhalten Sie nur eine Liste von Befehlen.
Wenn Sie sich "innerhalb der Shell von Android" befinden, ist es sinnlos, adbverwandte Befehle zu verwenden, und sie funktionieren nicht, um das gewünschte Ziel zu erreichen. Es ist ein anderes Konzept. Wenn Sie sich in der Windows-Shell befinden, müssen Sie, wie RMarkwald sagt, den vollständigen Befehl eingeben (für push: Sowohl Quelle als auch Ziel sind erforderlich.)
Wie Ihre Frage lautet, möchten Sie auf eine Datei zugreifen, die nur für sichtbar ist adb, aber Ihre Beschreibung scheint für sichtbar zu sein adb shell(mit anderen Worten, für die Shell des Telefons selbst sichtbar). Wenn Sie bereit sind, eine Datei innerhalb des Telefonspeichers zu verschieben, verwenden Sie die klassischen Linux-Befehle cpund mvin der Shell.

Antworten (3)

Nach Ihren Worten nehme ich an, dass Sie adb in einer Adb-Shell laufen und das ist falsch. Weitere Informationen finden Sie in dieser Antwort .

Falls ich Ihre Frage falsch verstanden habe:
Auf Android adbdwird standardmäßig nicht als root ausgeführt, sodass bestimmte Dateien und Verzeichnisse für den ADB-Client nicht sichtbar sind. Weitere Einzelheiten finden Sie jedoch in meiner Antwort .

Es gibt keinen solchen Befehl wie pushoder pullauf Ihrem Android-Gerät. Alles, was Sie tun können, ist adb pushvon Ihrem Host-PC aus. Welcher nicht vorhandene Befehl auch immer die Shell dazu bringt, Ihnen zu sagen, aaabbb: not founddass es sich nicht um einen Fehler handelt.

Verwenden Sie den folgenden Befehl von der Windows Power Shell oder der Eingabeaufforderung; nicht innerhalb der Adb-Shell:.\adb pull /system/etc/hosts C:\hosts

Das .\adbsoll zeigen, wo der Befehl adb verwendet werden kann. Es hat für mich funktioniert.

Geben Sie hier die Bildbeschreibung ein

Verwenden Sie adb direkt in der Eingabeaufforderung, anstatt es adb shellaußerhalb zu verwenden

adb  pull "/sdcard/WhatsApp Business/" "C:\Users\safva\OneDrive\Desktop\hi"