Android资源未找到异常求助:String资源ID#0x7f11001b
定位与解决
android.content.res.Resources$NotFoundException: String resource ID #0x7f11001b异常 核心排查方向
确认资源ID对应内容
用Android Studio的Find in Path搜索0x7f11001b,或在各模块的R.java/R.txt中查找该ID对应的资源类型与名称。重点检查多模块项目的所有模块,资源可能来自功能模块而非app模块。若ID对应string资源但对应strings.xml中无该条目、条目被误删或注释,会触发异常。排查布局XML隐性引用
即使Fragment代码未直接调用getText/getString,布局或配置文件可能存在隐性引用:- 控件
android:text属性直接引用该字符串ID,但资源不存在 - 自定义/第三方控件的属性间接引用该字符串资源
- 导航组件的
action或destination标签的android:label引用了该资源
- 控件
多模块资源引用问题
- 确认功能模块已被正确添加为app模块依赖(
implementation project(':xxx')),确保资源能被app模块访问 - 检查资源命名冲突:多模块中若存在同名string资源,可能导致R文件生成异常,需确认ID对应资源名称是否重复定义
- 确认功能模块已被正确添加为app模块依赖(
导航组件潜在问题
- 检查导航图(
nav_graph.xml)中所有目的地的android:label是否引用了存在的字符串资源 - 确认Fragment在导航组件中的注册无错误,未误引用不存在的资源作为标签或参数
- 检查导航图(
资源打包异常
- 检查
build.gradle中的shrinkResources配置,若开启可能导致该资源被误移除,可临时关闭shrinkResources与minifyEnabled后重新构建验证 - 检查多语言
strings.xml文件,确认所有语言版本都包含该资源条目,避免因某语言缺失导致异常
- 检查
快速验证步骤
- 查找ID对应资源名称:在项目根目录执行命令
- Linux/macOS:
grep -r "0x7f11001b" . --include="*.txt" - Windows(PowerShell):
Select-String -Path .\**\R.txt -Pattern "0x7f11001b"
得到资源名称后,全局搜索确认所有模块strings.xml中存在该条目
- Linux/macOS:
- 检查所有引用该资源的XML文件(布局、导航图等),确认引用格式正确
- 删除所有模块的
build目录,重新构建项目,强制生成新的R文件
内容的提问来源于stack exchange,提问作者Lobio
相关产品推荐
相关产品推荐

