访问设备中root的文件

时间:2011-03-25 14:51:38

标签: android filesystems

我正在为Galaxy Tab开发一个应用程序,现在我需要在/ data / data //文件夹中获取一些文件。

模拟器非常非常慢。所以我在设备上测试,需要从设备获取文件(我可以从模拟器中获取)。我怎么能这样做?

3 个答案:

答案 0 :(得分:5)

在代码中添加调试功能,将受保护文件夹中的所需文件复制到手机的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();
}

答案 1 :(得分:3)

设备上的/ data目录具有受限制的权限。要使用adb关闭文件,您需要植根设备。

答案 2 :(得分:1)

adb pull <path>

会将文件从设备下载到您当前的目录。

您还可以使用adb shell使用常见的shell命令探索您的设备。 adb shell ls <path>将允许您在不实际完全进入shell的情况下执行此操作。

编辑 - 这对于/ data目录或其他受限目录中的文件不起作用,除非您具有设备的root访问权限。