首页 文章

adb pull - >找不到设备

提问于
浏览
17

我有一个root用户手机,并以root方式运行adb .

我用adb shell成功访问了手机 .

我可以浏览directorys,甚至是那些需要root的人 .

当我尝试使用时:

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

我收到以下错误:

error: device not found

adb shell保持连接,我可以继续浏览SD卡 .

任何人都可以告诉我这个错误来自哪里以及如何修复它来拉动文件?

4 回答

  • 38

    adb pull 期间,请远离贝壳 .

  • 9

    似乎没有人提供解释 .

    该错误与以root身份运行的adb无关 . 从Android内部的shell内部运行 adb pull 期望连接到主要Android设备的Android设备(运行adb服务器)作为从属设备,当然不存在,因此出现错误 .

    但是,如果您通过OTG将主要Android设备连接到另一台设备并且开始充电(成为从属设备),则可以从Android内部成功运行该命令 . 通过这种方式,您实际上可以从主Android内部执行 adb shell .

    否则,您可以在设备或其他设备上以TCP模式运行ADB,并从主设备's shell to connect to localhost or the other device' s shell中执行 adb connect <IP:PORT> .

    即便如此,您的命令 adb pull /data/data/my.app.path/databases/mydatabase.db /home/admin/Desktop/ 也必然会失败,因为Android中没有 /home 目录概念,因此,目标在Android中根本不存在 .

    虽然您已经知道,但是您必须回到PC的shell,以便可以将主设备视为从设备或服务器,并且您的命令将成功运行(读者:此命令需要root才能运行) .

  • 1

    你可以试试:

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

    这样 adb 将等待您的设备连接 . 这可能会有所帮助,但我不确定 .

  • -1

    不要使用'adb shell pull',而是:

    adb pull <path>
    

相关问题