我正在开发Galaxy Tab的应用程序,现在我需要在/ data/data文件夹中获取一些文件。在设备的根目录中获取文件
模拟器真的很慢。所以我在设备上进行测试,并且需要从设备(从模拟器我能够做到)获取文件。我怎样才能做到这一点?
我正在开发Galaxy Tab的应用程序,现在我需要在/ data/data文件夹中获取一些文件。在设备的根目录中获取文件
模拟器真的很慢。所以我在设备上进行测试,并且需要从设备(从模拟器我能够做到)获取文件。我怎样才能做到这一点?
在您的代码中添加一个调试功能,将所需的文件从受保护的文件夹复制到手机的SD卡上。然后您可以从PC访问它们。
public static void backupFile() throws IOException {
String inFileName = "/data/data/your.package.name/........"; //TODO Use folder/filename
File inFile = new File(inFileName);
FileInputStream fis = new FileInputStream(inFile);
String outFileName = Environment.getExternalStorageDirectory()+"/........"; //TODO Use output filename
OutputStream output = new FileOutputStream(outFileName);
byte[] buffer = new byte[1024];
int length;
while ((length = fis.read(buffer))>0)
output.write(buffer, 0, length);
output.flush();
output.close();
fis.close();
}
adb pull <path>
将从设备下载文件到当前目录。
您还可以使用adb shell
来使用常用shell命令探索您的设备。 adb shell ls <path>
会让你在没有完全进入shell的情况下做到这一点。
编辑 - 对于/ data目录中的文件或其他受限制的目录中的文件不起作用,除非您具有对设备的根访问权限。
错误:设备权限不足 – 2011-03-25 15:25:55
是的,不幸的是,某些目录受到限制。/data/data中的应用程序目录不应该是。 – 2011-03-25 15:35:51
有趣。我的印象是,数据/数据下的任何东西都不会以这种方式访问。我从来没有能够从无根设备上的/数据中提取任何文件。也许我从来没有选择正确的文件? – slund 2011-03-25 15:45:56
设备上的/ data目录具有受限权限。要使用adb复制文件,您需要植入设备。
不错!永不言败。 – 2011-03-25 16:08:04
啊,漂亮!这会派上用场。 – slund 2011-03-25 16:10:11
中间。我认为这可能是一个解决方案。 – 2011-03-25 17:04:35