web-dev-qa-db-ja.com

adbpull->デバイスが見つかりません

私はルート化された電話を持っていて、ルートモードでadbを実行しています。

私はadbShellを使用して電話に正常にアクセスしました。

ルートが必要な場合でも、ディレクトリを参照できます。

私が使おうとすると:

adb pull /data/data/my.app.path/databases/mydatabase.db /home/admin/Desktop/

次のエラーが発生します。

error: device not found

Adbシェルは接続されたままで、SDカードの閲覧を続けることができます。

このエラーの原因と、ファイルをプルするために修正する方法を教えてもらえますか?

18
Ostkontentitan

adb pullの間はシェルに近づかないでください。

41

まだ誰も説明をしていないようです。

このエラーは、rootとして実行されているadbとは関係ありません。 Androidのシェル内からadb pullを実行すると、プライマリAndroidデバイスに接続されたAndroidデバイス(adbサーバーを実行)がスレーブとして想定されます。存在しないため、エラーが発生します。

ただし、プライマリAndroidデバイスをOTG経由で別のデバイスに接続し、そのデバイスが充電を開始する(スレーブになる)場合は、Android内からそのコマンドを正常に実行できます。このようにして、実際にはプライマリAndroidの内部からadb Shellを実行できます。

それ以外の場合は、デバイスまたは他のデバイスでTCPモードでADBを実行し、プライマリデバイスのシェル内からadb connect <IP:PORT>を実行して、ローカルホストまたは他のデバイスのシェルに接続できます。

それでも、Androidにはadb pull /data/data/my.app.path/databases/mydatabase.db /home/admin/Desktop/ディレクトリの概念がないため、コマンド/homeは失敗します。そのため、宛先はAndroidに存在しません。

すでにご存知ですが、プライマリデバイスをスレーブまたはサーバーとして扱い、コマンドを正常に実行できるように、PCのシェルに戻る必要があります(リーダー:このコマンドを機能させるにはrootが必要です)。

9
Firelord

あなたが試すことができます:

adb wait-for-device pull /data/data/my.app.path/databases/mydatabase.db 
    /home/admin/Desktop/

このようにして、adbはデバイスが接続されるのを待ちます。それは役立つかもしれませんが、私にはわかりません。

2
jml