如何使用Android Device Monitor的文件资源管理器查找我的应用程序/数据/数据

时间:2014-09-02 06:18:58

标签: android android-studio adb

我有一个将文本文件写入内部存储的应用程序。我想仔细查看我的电脑。

我运行了Toast.makeText来显示路径,它说: /数据/数据/ mypackage的

但是当我访问Android Studio的Android设备监控应用程序时,我在文件资源管理器中看不到/ data / data。那么我的文件在哪里?

我知道它们存在是因为我可以在adb shell上找到它。我需要将/ data / data转换为文件资源管理器中可见的路径,以便我可以轻松下载它们。谢谢!

5 个答案:

答案 0 :(得分:5)

您只能检查是否有root电话,因为这些文件夹是应用程序专用的,并且通常只能访问此类文件夹。我建议你是否没有root手机,然后复制你的内部文件夹并将它们写入SDCard以检查内容。另一种方法是根电话或使用模拟器。

以下是可用于在外部SD卡上写入副本的代码:

public static void copyDirectoryOneLocationToAnotherLocation(File sourceLocation, File targetLocation)
            throws IOException {

        if (sourceLocation.isDirectory()) {
            if (!targetLocation.exists()) {
                targetLocation.mkdir();
            }

            String[] children = sourceLocation.list();
            for (int i = 0; i < sourceLocation.listFiles().length; i++) {

                copyDirectoryOneLocationToAnotherLocation(new File(sourceLocation, children[i]),
                        new File(targetLocation, children[i]));
            }
        } else {

            InputStream in = new FileInputStream(sourceLocation);

            OutputStream out = new FileOutputStream(targetLocation);

            // Copy the bits from instream to outstream
            byte[] buf = new byte[1024];
            int len;
            while ((len = in.read(buf)) > 0) {
                out.write(buf, 0, len);
            }
            in.close();
            out.close();
        }

    }

答案 1 :(得分:2)

您可以使用adb console。 只需撰写adb root然后adb connect <IP>

即可

之后,您可以打开数据文件夹。

答案 2 :(得分:1)

this。因为/ data / data是应用程序本身的内部存储,所以只有具有相同用户ID的应用才能访问它(或者除非你有一个root设备)。

答案 3 :(得分:0)

/data/data文件夹显示在我的Android设备监视器的文件资源管理器(Android Studio 1.4)中。至少对于虚拟设备。

答案 4 :(得分:0)

我认为您正在使用API​​ 24或更高版本,您必须创建一个新的虚拟设备,而不是API 24 +