我有一个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 回答
在
adb pull
期间,请远离贝壳 .似乎没有人提供解释 .
该错误与以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才能运行) .
你可以试试:
这样
adb
将等待您的设备连接 . 这可能会有所帮助,但我不确定 .不要使用'adb shell pull',而是: