无法访问android/data文件夹?

无法访问android/data文件夹?,android,Android,仅打印“ret=0”,如何打印正确的路径?Android保护其内部目录。您只能访问/data/data/your_package下的目录。我相信普通用户没有在普通设备上读取/data目录的权限。您是否尝试使用自己的应用程序,而不是生成另一个进程(例如Runtime.exec()) File dataDir=新文件(“/data”); String[]files=dataDir.list(); 对于(int i=0;i

仅打印“ret=0”,如何打印正确的路径?

Android保护其内部目录。您只能访问
/data/data/your_package
下的目录。我相信普通用户没有在普通设备上读取
/data
目录的
权限。

您是否尝试使用自己的应用程序,而不是生成另一个进程(例如Runtime.exec())

File dataDir=新文件(“/data”);
String[]files=dataDir.list();
对于(int i=0;i

另外,我会查看不同的读取权限,也许有另一种方法可以通过ContentProviders访问您要查找的数据。

如果您不想从java代码而是从PC控制台访问/data文件夹,您可以使用
adb shell
命令。它没有任何限制


请记住运行模拟器,或在运行之前通过USB连接手机,否则设备上的数据文件夹无法访问,系统进程除外。您无法通过adb访问未入座电话的数据文件夹。您可以访问emulator或根手机的数据文件夹。

adb shell在没有根设备的情况下不允许您进行根访问,但它将在模拟器上工作。这将无济于事-应用程序生成的进程以与应用程序相同的用户ID运行,因此具有相同的权限。当然,除非您正在调用setuid进程,比如“su”根垫片。
  try {
     Runtime rt = Runtime.getRuntime();
     Process pcs = rt.exec("ls -l /data");
     BufferedReader br = new BufferedReader(new InputStreamReader(pcs
           .getInputStream()));
     String line = null;
     while ((line = br.readLine()) != null) {
        Log.e("line","line="+line);
     }
     br.close();
     pcs.waitFor();
     int ret = pcs.exitValue();
     Log.e("ret","ret="+ret);
  } catch (Exception e) {
     Log.e("Exception", "Exception", e);
  }
File dataDir = new File("/data");

    String[] files = dataDir.list();

    for (int i = 0 ; i < files.length ; i++ ) {
        Log.d(TAG, "File: "+files[i]);
    }