Android Studio中values-v31.xml持续生成颜色代码如何阻止?
阻止values-v31.xml自动生成颜色代码的解决方案
该自动生成的颜色代码是Android 12+ 对应的Material You动态颜色特性自动生成的资源,可通过以下步骤关闭自动生成规则:
- 确认你的项目compileSdk版本是否≥31,只有compileSdk达到31及以上才会触发该特性的自动生成逻辑
- 关闭全局动态颜色生成配置
打开项目根目录下的gradle.properties文件,添加如下配置:
添加完成后同步Gradle即可生效android.enableDynamicColors=false - 检查主题父类配置
若上述配置不生效,打开项目的主题配置文件(默认路径为res/values/themes.xml),确认你的应用主题父类没有使用带DynamicColors后缀的Material3主题,比如将:
替换为普通无动态颜色的主题即可:<style name="AppTheme" parent="Theme.Material3.DayNight.DynamicColors"><style name="AppTheme" parent="Theme.Material3.DayNight.NoActionBar"> - 清理历史缓存
点击Android Studio顶部菜单栏的Build -> Clean Project,再执行Build -> Rebuild Project,之后运行项目就不会再自动生成多余的v31颜色资源
注意:如果你的项目需要适配Android 12及以上系统的动态颜色特性,无需关闭该配置,仅需检查是否是你的自定义颜色资源名称和自动生成的颜色名称重名,修改重名的自定义资源名称即可解决运行报错。
内容的提问来源于stack exchange,提问作者Justine Guillermo
相关产品推荐
相关产品推荐

