我有一个将文本文件写入内部存储的应用程序。我想仔细查看我的电脑。
我运行了Toast.makeText来显示路径,它说: /数据/数据/ mypackage的
但是当我访问Android Studio的Android设备监控应用程序时,我在文件资源管理器中看不到/ data / data。那么我的文件在哪里?
我知道它们存在是因为我可以在adb shell上找到它。我需要将/ data / data转换为文件资源管理器中可见的路径,以便我可以轻松下载它们。谢谢!
答案 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 +