【问题标题】:Unable to create a directory in the /data/ partition of the Android无法在Android的/data/分区创建目录
【发布时间】:2015-08-17 13:42:15
【问题描述】:

我正在尝试在“/data”下创建一个名为“subdata”的分区。但它失败了。

我尝试的步骤和失败结果如下。

File dir =new File(/data/subdata/");
boolean success = dir.mkdir();

这里,发现“成功”的值为“假”。

File dir= context.getDir("/data/subdata",Context.MODE_WORLD_READABLE);

在这里,我得到“java.lang.IllegalArgumentException: File app_/data/subdata/ contains a path separator

请帮我在/data/ 分区下创建这个子文件夹。

【问题讨论】:

  • 也许你需要 root 访问权限或清单中的 WRITE_PERMISSION_DATA
  • 我得到相同的 java.lang.IllegalArgumentException:文件 app_/data/subdata/ 包含路径分隔符错误
  • 关于那个链接,我正在使用那个方法 itslef.. (contex.getDir())
  • 你想要的需要有根设备并使用susudo或其他东西运行命令。您不能在/data 中创建任意目录,因为您的应用没有对该分区上任意位置的写入权限。

标签: android file illegalargumentexception


【解决方案1】:

我通过以下方式解决了我的需求。

正如我在问题中提到的,如果我手动创建子文件夹,我可以读取和写入 /data 中的那个子文件夹。 所以,我通过init.rc 创建了这个子文件夹(正如我提到的,我也有构建代码)。由于我在 Linux 上比在 Android 上更流利,所以我通过init.rc 修复了它。现在我可以通过我的 android 代码读取/写入该文件夹了。

【讨论】:

    猜你喜欢
    • 2021-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多