手机已植根,但无法从/data/data文件夹中提取文件



我的手机三星Galaxy S5 mini扎根了。我正在尝试将文件从/data/data/myapp.package/拉到PC上的文件夹。

adb pull /data/data/myapp.package E:myappmyapp.package

它给了我这个错误

adb: error: failed to copy '/data/data/myapp.package' to 'E:myappmyapp.package': Permission denied

发现很多像我这样的问题,但没有答案解决了我的问题。有些人建议在拉取文件之前adb root执行此命令。有些人建议安装 adbd 不安全的应用程序以启用根访问权限。实际上,在安装该应用程序后,手机从adb终端中消失了。这两种解决方案都对我不起作用。

顺便说一句,我可以使用 adb shell 中的cp命令复制文件,但我必须将文件复制到 sdcard,然后从 sdcard 中提取。我正在寻找允许我将文件直接从/data/data/myapp.package复制到我的 PC 的解决方案

有什么解决办法吗?

为了让你的adb能够直接访问/data/data(对于adb pull(,你的adbd应该以root身份运行 - 这通常可以通过adb root命令来完成。

adb root不适用于三星Galaxy S5 mini等商业设备,因为商业设备已经ro.secure=1,即由于检查名为ro.secure的属性,adbd无法以root身份重新启动。adbd 不安全的应用程序会规避这一点,并在根模式下重新启动 adbd,以使 adb pull 等工作。

简而言之,如果 adbd 不安全的应用程序不适合您,则无法从现有 ROM 中的/data/data执行adb pull。如果您更改 ROM/进行一些 boot.img 调整,这可能是可能的,但我可能会建议在进行 ROM 更改之前尝试最新版本/不同版本的 adbd 不安全应用程序。

在此处阅读有关生根的更多信息。

这是一个单行代码,可让您在不安装任何其他内容的情况下拉取文件,也不必将其复制到设备上的公共位置,然后将其拉取到您的计算机:

adb shell su -c "cat /data/data/myapp.package/my_file.apk" > my_file.apk

这是做什么的:

  • adb shell运行打印原始二进制输出的命令
  • su -c以 root 身份运行提供的命令
  • cat <file>打印出文件内容
  • > <file>将 adb 的输出(即原始文件内容(重定向到本地文件。

首先,您需要从命令行点击这两个命令

adb root
adb remount

然后

adb pull /data/data/myapp.package E:myappmyapp.package
这是我

从根目录拉取数据库文件的示例

adb -e shell "run-as com.example.project cp /data/data/com.example.project/databases/project.db /sdcard"

关键是run-as

最新更新