adb pull - устройство не найдено

17

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

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

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

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

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

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

error: device not found

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

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

задан Ostkontentitan 03.12.2013 в 10:58
источник
  • вы в раковине? –  Viswanath Lekshmanan 03.12.2013 в 11:07
  • не оставайтесь внутри оболочки, чтобы вытащить –  Viswanath Lekshmanan 03.12.2013 в 11:14
  • Это было глупо! Да, я был. Пожалуйста, создайте ответ Arju, и я его приму. –  Ostkontentitan 03.12.2013 в 11:35
  • Удачи :) –  Viswanath Lekshmanan 03.12.2013 в 12:12

4 ответа

38

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

    
ответ дан Viswanath Lekshmanan 03.12.2013 в 12:10
9

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

Ошибка не имеет отношения к 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 требуется для выполнения этой команды ).     

ответ дан Firelord 11.07.2015 в 14:13
  • Это идеальный способ ответить. –  Murtaza Khursheed Hussain 29.12.2015 в 09:12
1

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

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

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

    
ответ дан jml 03.12.2013 в 11:14
  • приятно знать команду wait-for-device, к сожалению, она ждет до таймаута. –  Ostkontentitan 03.12.2013 в 11:36
-1

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

adb pull <path>
    
ответ дан Sileria 01.09.2014 в 18:32