我有一个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卡.
任何人都可以告诉我这个错误来自哪里以及如何修复它来拉动文件?
似乎没有人提供解释.
该错误与以root身份运行的adb无关.adb pull
在Android内部运行时,需要将Android设备(运行adb服务器)连接到主Android设备作为slave,这当然不存在,因此出现错误.
但是,如果您通过OTG将主要Android设备连接到另一台设备并且开始充电(成为从属设备),则可以从Android内部成功运行该命令.通过这种方式,您实际上可以adb shell
从主Android内部进行操作.
否则,您可以在设备或其他设备上以TCP模式运行ADB,并adb connect <IP:PORT>
从主设备的shell内部连接到localhost或其他设备的shell.
即使这样,您的命令adb pull /data/data/my.app.path/databases/mydatabase.db /home/admin/Desktop/
也会失败,因为/home
Android中没有目录概念,因此,目标在Android中根本不存在.
虽然您已经知道,但是您必须回到PC的shell,以便可以将主设备视为从设备或服务器,并且您的命令将成功运行(读者:此命令需要root才能运行).
在此过程中远离壳adb pull
.