Подтвердить что ты не робот

Adb pull → устройство не найдено

У меня есть корневой телефон и работает adb в корневом режиме.

Я использовал оболочку adb для успешного доступа к телефону.

Я могу просматривать каталоги, даже те, кому нужен root.

Когда я пытаюсь использовать:

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

Я получаю следующую ошибку:

error: device not found

Оболочка adb остается подключенной, и я могу продолжить просмотр SD-карты.

Может ли кто-нибудь сказать мне, откуда эта ошибка, и как я могу ее исправить, чтобы вытащить файл?

4b9b3361

Ответ 1

Оставайтесь вне оболочки во время adb pull.

Ответ 2

Кажется, что никто еще не дал объяснений.

Ошибка не имеет отношения к adb, выполняемому как root. Запуск adb pull изнутри оболочки в Android ожидает, что Android-устройство (работающий сервер adb), подключенное к основному Android-устройству в качестве подчиненного устройства, которое, конечно же, не существует, и поэтому возникает ошибка.

Однако вы можете успешно запустить эту команду изнутри Android, если вы подключаете основное устройство Android через OTG к другому устройству и запускаете зарядку (становится подчиненным). Таким образом, вы действительно можете сделать adb shell внутри вашего основного Android.

В противном случае вы можете запустить ADB на своем устройстве или другом устройстве в режиме TCP и сделать adb connect <IP:PORT> изнутри основной оболочки устройства для подключения к локальному хосту или другой оболочке устройства.

Даже тогда ваша команда adb pull /data/data/my.app.path/databases/mydatabase.db /home/admin/Desktop/ будет терпеть неудачу, потому что в Android нет концепции каталога /home, поэтому назначение просто не существует в Android.

Хотя вы уже знаете, вы должны вернуться к оболочке своего ПК, чтобы ваше основное устройство можно рассматривать как подчиненный или сервер, и ваша команда будет успешно работать (читатели: root требуется для выполнения этой команды).

Ответ 3

Вы можете попробовать:

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

Этот способ adb будет ждать подключения вашего устройства. Это может помочь, но я не уверен.

Ответ 4

Не используйте 'pull для оболочки adb' вместо:

adb pull <path>