adb pull -> 设备未找到
Posted
技术标签:
【中文标题】adb pull -> 设备未找到【英文标题】:adb pull -> device not found 【发布时间】:2013-12-19 07:38:28 【问题描述】:我有一部 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 保持连接,我可以继续浏览 sdcard。
谁能告诉我这个错误来自哪里以及如何修复它以提取文件?
【问题讨论】:
你在 shell 中吗? 不要呆在shell里拉 那是一个愚蠢的!是的,我是。请创建一个答案 Arju,我会接受它。 【参考方案1】:在adb pull
期间远离shell。
【讨论】:
【参考方案2】:似乎还没有人提供解释。
该错误与以 root 身份运行的 adb 无关。在 android 的 shell 中运行 adb pull
需要一个作为从属设备连接到主要 Android 设备的 Android 设备(运行 adb 服务器),这当然不存在,因此出现错误。
但是,如果您通过 OTG 将您的主要 Android 设备连接到另一台设备并且该设备开始充电(成为从设备),则您可以在 Android 内部成功运行该命令。通过这种方式,您实际上可以在您的主 Android 中执行adb shell
。
否则,您可以在您的设备或其他设备上以 TCP 模式运行 ADB,并从主设备的外壳内部执行 adb connect <IP:PORT>
以连接到本地主机或其他设备的外壳。
即便如此,您的命令 adb pull /data/data/my.app.path/databases/mydatabase.db /home/admin/Desktop/
也一定会失败,因为 Android 中没有 /home
目录概念,因此目标在 Android 中根本不存在。
虽然你已经知道了,但你必须回到你的 PC 的外壳,这样你的主设备就可以被视为从设备或服务器,并且你的命令会成功运行(读者:这个命令需要 root 才能工作)。
【讨论】:
这是完美的回答方式。【参考方案3】:你可以试试:
adb wait-for-device pull /data/data/my.app.path/databases/mydatabase.db
/home/admin/Desktop/
这样adb
将等待您的设备连接。这可能会有所帮助,但我不确定。
【讨论】:
很高兴知道等待设备命令,不幸的是它一直等到超时。【参考方案4】:不要使用外壳
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
【讨论】:
【参考方案5】:不要使用“adb shell pull”,而是:
adb pull <path>
【讨论】:
以上是关于adb pull -> 设备未找到的主要内容,如果未能解决你的问题,请参考以下文章