Android Studio可读取单个assets文件但其余文件报FileNotFoundException
Android assets目录读取同路径文件仅单个报FileNotFoundException的排查原因
- 文件名拼写/大小写不匹配
Android assets文件读取严格区分大小写,需确认代码中填写的文件名example2.txt和实际文件的文件名完全一致,包括大小写、前后空格、特殊符号(比如是否实际文件名为example_2.txt、Example2.txt)。 - 构建变种资源隔离
如果你项目配置了多构建变种(多渠道、debug/release分离等),检查example2.txt是否存放在特定变种的assets目录下,当前运行的构建变种无法访问其他变种的assets资源。 - 编译配置屏蔽了对应文件
检查项目build.gradle中的aaptOptions配置,是否设置了ignoreAssetsPattern规则匹配到了example2.txt,导致该文件在打包时被过滤,没有放入最终apk。你可以解压当前运行的apk包,查看assets目录下是否存在example2.txt确认该问题。 - 增量编译缓存异常
执行Android Studio菜单栏Build > Clean Project再执行Rebuild Project,清理旧构建缓存后重新运行测试,部分增量编译bug会导致新增/修改的assets文件没有更新到最新apk中。 - 文件名包含特殊编码字符
如果example2.txt文件名包含非ASCII特殊字符,部分编译环境下会出现编码异常,导致打包后的文件名和代码中填写的文件名不匹配,无法找到对应文件。
内容的提问来源于stack exchange,提问作者Sylvia Bumgarner
相关产品推荐
相关产品推荐

