运行Android应用报resource linking failed及system_neutral1资源缺失如何解决
报错根因
你使用的com.google.android.material:material:1.5.0-alpha05是Material组件的早期alpha测试版本,引入了Material 3动态颜色特性,其中引用的system_neutral1_*系列系统颜色资源,仅在正式版Android 12(API 31)SDK中存在。你当前的编译环境要么是预览版API 31,要么是编译配置未对齐,导致无法找到对应资源。
修复方案
- 方案1:升级Material依赖到稳定版本(最推荐)
替换当前的alpha版本依赖为1.5.0正式版及以上的稳定版本即可解决兼容性问题,示例如下:
你也可以根据项目适配需求选择其他更高的稳定版本。implementation 'com.google.android.material:material:1.9.0' - 方案2:对齐编译SDK配置为正式版API 31
检查模块级build.gradle文件的编译配置,确保使用的是正式版API 31:
配置修改完成后清理缓存重新编译:点击Android Studio菜单栏android { compileSdk 31 defaultConfig { targetSdk 31 // 其余原有配置保持不变 } }File -> Invalidate Caches...,勾选清理文件系统缓存后重启IDE,再重新构建项目即可。 - 方案3:降级Material依赖到无动态颜色的版本
如果你暂时不需要适配Material 3动态颜色特性,可以直接把依赖降级到1.4.0稳定版:implementation 'com.google.android.material:material:1.4.0'
内容的提问来源于stack exchange,提问作者Bint E Hawa
相关产品推荐
相关产品推荐

