我的手机三星Galaxy S5 mini扎根了。我正试图将文件从/data/data/myapp.package/
拉到我的电脑上的文件夹中。
adb pull /data/data/myapp.package E:\myapp\myapp.package
它给了我这个错误
adb: error: failed to copy '/data/data/myapp.package' to 'E:\myapp\myapp.package': Permission denied
我发现很多像我这样的问题,但没有答案解决了我的问题。有人建议在提取文件之前执行此命令adb root
。有人建议安装 adbd insecure 应用以启用root访问权限。事实上,在安装该应用程序后,手机从adb终端消失了。这两种解决方案对我都不起作用。
顺便说一句,我可以使用adb shell中的cp
命令复制文件,但我必须将文件复制到SD卡,然后从SD卡中取出。我正在寻找允许我直接从/data/data/myapp.package
复制文件到我的电脑
任何解决方案?
答案 0 :(得分:1)
为了让您的adb能够直接访问/data/data
(adb pull
),您的adbd
应该以root身份运行 - 通常可以通过adb root
命令来完成
adb root
无法在三星Galaxy S5 mini等商用设备上运行,因为商用设备有ro.secure=1
,即由于检查了名为{的属性,adbd无法以root用户身份重新启动{1}}。 adbd insecure 应用规避此操作并在root模式下重新启动adbd以启用ro.secure
等工作。
简而言之,如果 adbd不安全应用不适合您,则无法在现有ROM中adb pull
执行adb pull
。如果您更改ROM /进行一些boot.img调整可能是可能的,但我可能会建议在进行ROM更改之前尝试最新版本/不同版本的 adbd insecure 应用程序。
答案 1 :(得分:1)
这是我从根目录
中提取DB文件的示例adb -e shell "run-as com.example.project cp /data/data/com.example.project/databases/project.db /sdcard"
关键是run-as
答案 2 :(得分:0)
首先,您需要从命令行
命中这两个命令adb root
adb remount
然后
adb pull /data/data/myapp.package E:\myapp\myapp.package