如何找到我的应用程序';s/data/data使用Android设备监视器';s文件管理器

如何找到我的应用程序';s/data/data使用Android设备监视器';s文件管理器,android,android-studio,adb,Android,Android Studio,Adb,我有一个将文本文件写入内部存储器的应用程序。我想仔细看看我的电脑 我运行Toast.makeText来显示路径,它显示: /data/data/mypackage 但是当我转到Android Studio的Android设备监视器应用程序时,我在文件浏览器中看不到/data/data。我的档案在哪里 我知道它们的存在,因为我可以在外壳上找到它们。我需要将/data/data转换为文件资源管理器上可见的路径,以便轻松下载它们。谢谢 由于这些文件夹是应用程序的私有文件夹,通常只能访问这些文件夹,因此

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

我运行Toast.makeText来显示路径,它显示: /data/data/mypackage

但是当我转到Android Studio的Android设备监视器应用程序时,我在文件浏览器中看不到/data/data。我的档案在哪里


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

由于这些文件夹是应用程序的私有文件夹,通常只能访问这些文件夹,因此只能检查是否有根手机。我建议如果你没有根手机,那么复制一份你的内部文件夹,并将它们写入SD卡以检查内容。另一种方法是根您的手机或使用模拟器

以下是可用于在外部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();
        }

    }
public static void copyDirectoryOneLocation到另一个位置(文件源位置、文件目标位置)
抛出IOException{
if(sourceLocation.isDirectory()){
如果(!targetLocation.exists()){
targetLocation.mkdir();
}
String[]children=sourceLocation.list();
对于(int i=0;i0){
out.write(buf,0,len);
}
in.close();
out.close();
}
}

请参阅。由于/data/data是应用程序本身的内部存储,因此只有具有相同用户id的应用程序才能访问它(或者除非您有根设备)。

您可以使用
adb控制台
。 只需编写
adb根目录
,然后
adb连接


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

我的Android设备监视器的文件浏览器(Android Studio 1.4)中会显示
/data/data
文件夹。至少对于虚拟设备。

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

您的软件包不在吗?喜欢数据/数据/你的软件包吗?这在用户构建中是不可能的。不完全是重复的。我试过了,所以你上周末已经链接到了。问题是,当我使用他们的cp命令时,我无法将它从adb复制到我的笔记本电脑上。我也尝试使用备份路由,但我的手机是加密的,我必须输入加密密码,否则无法继续。所以,我试着使用Android Studio的Android设备监控应用程序,来做一个拉动。但是,路径/数据/数据没有显示。这就是为什么我要问这个问题,特别是为了将/data/data的路径转换为反映在Android Studio的Android设备监视器上的路径。现在打开问题:)难道没有办法让我的应用程序的内容显示在Android设备监视器的文件浏览器的可见路径中吗?上周末我已经在你的链接中尝试了选项1和选项2。第一个是cp上的语法错误。第二个是加密备份,但如何解密?我的电话是加密的。当我选择不按指示加密时,它将退出。如果我加密,我不知道如何解密。所以我卡住了。对不起,我不知道,你可以试试你的设备。对于cp语法错误,它实际上与Linux中的cp命令相同。它使用两个参数和各种选项。看,我希望我不需要这样做,但考虑到目前的情况,复制到SD卡比只获取几个文件而根更简单。谢谢