首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

java.lang.IllegalArgumentException:未能找到包含/storage/emulated/0/的已配置根目录

java.lang.IllegalArgumentException:未能找到包含/storage/emulated/0/的已配置根目录

这个错误提示表明在Java代码中发生了一个非法参数异常(IllegalArgumentException),具体是在寻找已配置根目录时未能找到包含"/storage/emulated/0/"的根目录。

在Android系统中,"/storage/emulated/0/"通常是指外部存储器(External Storage)的根目录,也就是SD卡的根目录。然而,这个错误提示表明代码中的根目录配置可能存在问题,导致无法找到指定的路径。

要解决这个问题,可以尝试以下几个步骤:

  1. 检查权限:确保在AndroidManifest.xml文件中已经声明了正确的存储权限,即 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  2. 检查路径:确认路径"/storage/emulated/0/"是否正确,可以通过使用其他文件管理器或调试工具来验证路径是否存在。
  3. 使用正确的API:在Android中,访问外部存储器的根目录应该使用Environment.getExternalStorageDirectory()方法,而不是直接使用硬编码的路径。

示例代码:

代码语言:txt
复制
File rootDir = Environment.getExternalStorageDirectory();
String path = rootDir.getAbsolutePath() + "/your_file_path";
  1. 检查设备:某些设备可能没有外部存储器或者路径不同,因此需要根据具体设备进行适配。

总结: java.lang.IllegalArgumentException:未能找到包含/storage/emulated/0/的已配置根目录错误通常是由于根目录配置错误或权限问题导致的。通过检查权限、路径和使用正确的API,可以解决这个问题。如果问题仍然存在,可能需要根据具体设备进行适配。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

浅谈android获取存储目录(路径)几种方式和注意事项

通常, 我们创建文件/目录, 或者存储图片什么, 我们都需要拿到手机存储路径, 现在我们就来看一下获取手机存储路径几种方式(作为工具类方法调用即可): 第一种: 获取 /storage/emulated.../emulated/0 return sd.canWrite(); } else { return false; } 第二种: 获取 /storage/emulated/0(类似上面) public...file.mkdir()) { //Toast.makeText(ExternalStoreActivity.this, "目录存在......", Toast.LENGTH_SHORT).show(); //} } } 以上两种获得路径, 其实就是系统根目录, 比如我手机是华为荣耀6, 就在本地- 内部存储这个路径下 第三种: 获取手机指定目录...file.mkdir()) { Log.e(LOG_TAG, "Directory not created"); Toast.makeText(ExternalStoreActivity.this, "目录存在

1.3K10

从内部存储说起,你手机里文件都是些什么?

前言下面是内部存储路径,也就是手机系统自带文件管理所能使用路径/storage/emulated/0/还有一些软连接指向这个路径/sdcard/,这个目录链接至下面那个目录/storage/self.../primary/,这个目录链接至/storage/emulated/0/也就是说,这三个目录,无论你访问哪一个,其实都是在访问/storage/emulated/0/以下讲解都是以/storage/...emulated/0/作为根目录(或者说相对目录)进行讲解/storage/emulated/0/Android存放安卓系统文件和应用程序数据Android/data,存放应用程序配置信息、用户数据...根据很多文件夹下都没有文件(说明大多数应用自己指定了文件存放规则)就可以看出,安卓文件管理是很混乱,应用产生或者存放文件并没有制定强制标准,系统用一段时间就可以在文件管理里面找到很多不认识文件...这种情况只能说是有好有坏,比如微云直接把下载文件放在中文路径下,很多不懂手机用户就可以轻松找到文件目录(中文好认而且一般位于内部存储最底部),而且下载文件几乎不需要考虑中文兼容性问题(又不是搞代码

1.3K40

Android 获取系统各个目录方法

这篇文章主要介绍和记录一下实际开发过程中常用各个文件目录。 (1)内部存储(Internal Storage) 内部存储是App私有目录,当一个应用卸载之后,内部存储中这些文件也被删除。...路径:(data/data/应用包名/cache),不过经实际测试(华为、小米手机等),getCacheDir手机路径为: /data//data/user/0/应用包名/cache Log.e(TAG...Environment.getExternalStorageDirectory() SD卡根目录,路径:/storage/emulated/0 Log.e(TAG, Environment.getExternalStorageDirectory...getApplicationContext().getExternalFilesDir(“”) 路径:/storage/emulated/0/Android/data/应用包名/files Log.e...getApplicationContext().getExternalCacheDir() 路径:/storage/emulated/0/Android/data/应用包名/cache Log.e(

6.1K10

清理手机中.RecycleBinHW文件夹,以QPythonOH toybox为例termux等同理,用du、sort、awk命令看目录大小

清理手机中.RecycleBinHW文件夹 先给结论,再去探索import os; os.chdir("/storage/emulated/0/.RecycleBinHW"); os.system("...rm -r -f *")#直接清理掉手机打开QPythonOH,进入sh环境,代码随意import os; os.chdir("/storage/emulated/0/"); os.system("sh...-exec file {} \;图片#找到其中JPEG图片find . -exec file {} \; | grep -i 'jpeg'图片find ....-delete#全部删除 #不清理的话系统会定期清理,从列表来看也没有超过一两个月文件#但是谁保证自己某几天刷手机频率不会突然增加呢然后手机存储中,大头是应用程序,/storage/emulated.../0 用户存储里内容是小头,但是想看哪个目录大哪个目录应该先考虑删应该怎么办呢,文件管理中一个个点开详情看吗?

1.4K20

《Android外部存储》

我也曾疑惑过,为什么一个简简单单外部存储,会存在存在这么多奇奇怪怪路径:/sdcard、/mnt/sdacrd、/storage/extSdCard、/mnt/shell/emulated/0、/storage.../emulated/0、/mnt/shell/runtime/default/emulated/0…其实,这背后代表了一项项技术成熟与发布:模拟外部存储、多用户、运行时权限… 一、各版本外部存储特性...EMULATED_STORAGE_TARGET记录绑定挂载目标路径,应用获取外部存储路径就在这个目录下。...这里看mountMode为MOUNT_EXTERNAL_MULTIUSER时执行分支,/mnt/shell/emulated/0将被绑定到/storage/emulated/0。...注意这里是新挂载命名空间,所以只有该应用看得到/storage/emulated/0绑定挂载,从adb shell下是看到只能是个空目录。

2.6K50

Android外部存储

我也曾疑惑过,为什么一个简简单单外部存储,会存在存在这么多奇奇怪怪路径:/sdcard、/mnt/sdacrd、/storage/extSdCard、/mnt/shell/emulated/0、/storage.../emulated/0、/mnt/shell/runtime/default/emulated/0...其实,这背后代表了一项项技术成熟与发布:模拟外部存储、多用户、运行时权限... --------...EMULATED_STORAGE_SOURCE环境变量,记录绑定挂载源路径,注意应用是没有权限进入这个目录。...这里看mountMode为MOUNT_EXTERNAL_MULTIUSER时执行分支,/mnt/shell/emulated/0将被绑定到/storage/emulated/0。...注意这里是新挂载命名空间,所以只有该应用看得到/storage/emulated/0绑定挂载,从adb shell下是看到只能是个空目录。

2.2K60
领券