使用adb pull从手机复制应用程序的文件(不是root)

时间:2015-06-02 09:26:33

标签: android adb

我正在使用MacBook作为我的开发机器。我的Android手机没有扎根。我想将我的Android应用程序的文件从手机复制到我的MacBook。我尝试了以下方法:

  1. 将Android手机连接到MacBook(已启用开发者选项)

  2. adb pull /data/data/com.my.app/app_data/data ~/Documents/my/app/

  3. 其中/data/data/com.my.app/app_data/data是手机上的文件路径,~/Documents/my/app/是MacBook上的目录路径。

    但上述adb pull命令显示权限被拒绝

    我还尝试在su下使用adb shell,但它也不起作用:

    ~$ adb shell
    shell@xyz:/ $ su
    /system/bin/sh: su: not found
    

    那么,我如何将我的应用程序的内部文件复制到我的MacBook目录?

2 个答案:

答案 0 :(得分:1)

在非根电话上,您无法访问应用专用数据目录(/data/data/com.my.app)。

提取数据的唯一方法是使用adb backupp创建应用数据的备份:

adb backup -f mybackup.ab com.my.app

要从创建的备份存档中提取信息,您可以使用Android Backup Extractor。它将Android备份存档转换为tar存档文件。

注意:如果应用程序在其清单中指定禁止备份,则所述方式不起作用。在这种情况下,唯一的方法是根电话。

答案 1 :(得分:0)

您必须使用adb shell导航到您的文件。

然后复制到SD卡:

cat yourfile > /sdcard/yourfile

然后退出adb shell,现在你可以拉:

adb pull /sdcard/yourfile