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