我有root电话并以root模式运行adb。
我使用adb shell成功访问手机。
我可以浏览导演,甚至是那些需要root的导演。
当我尝试使用时:
adb pull /data/data/my.app.path/databases/mydatabase.db /home/admin/Desktop/
我收到以下错误:
error: device not found
adb shell保持连接,我可以继续浏览SD卡。
任何人都可以告诉我这个错误来自哪里以及我如何修复它来拉取文件?
答案 0 :(得分:39)
在adb pull
期间保持不受欢迎。
答案 1 :(得分:9)
似乎没有人提供解释。
该错误与以root身份运行的adb无关。从Android内部的shell中运行adb pull
需要将Android设备(运行adb服务器)连接到主Android设备作为从属设备,这当然不存在,因此出现错误。
但是,如果您通过OTG将主Android设备连接到另一台设备并且开始充电(成为从设备),则可以从Android内部成功运行该命令。通过这种方式,您实际上可以从主Android中进行adb shell
。
否则,您可以在设备或其他设备上以TCP模式运行ADB,并从主设备的shell内部{i} adb connect <IP:PORT>
连接到localhost或其他设备的shell。
即便如此,您的命令adb pull /data/data/my.app.path/databases/mydatabase.db /home/admin/Desktop/
也必然会失败,因为Android中没有/home
目录概念,所以目标在Android中根本不存在。
虽然您已经知道,但是您已经回到PC的shell中,这样您的主设备就可以被视为从属设备或服务器,并且您的命令将成功运行(读者:root是此命令必须工作)。
答案 2 :(得分:2)
您可以尝试:
adb wait-for-device pull /data/data/my.app.path/databases/mydatabase.db
/home/admin/Desktop/
这样adb
将等待您的设备连接。这可能有所帮助,但我不确定。
答案 3 :(得分:0)
不要使用外壳
cd to platform-tools folder
use the ad pull source_folder_in _android_device distaniation_in_mac
示例
cd /Users/rRasoul/Library/Android/sdk/platform-tools
adb pull /data/data/com.test.app.debug/files /Users/Rasoul/Desktop/folder1
答案 4 :(得分:-1)
请勿使用&#39; adb shell pull&#39;而是:
adb pull <path>