You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Expo React Native Android构建失败:values.xml颜色资源报错

解决思路

一、处理Gradle缓存报错(Unsupported class file major version 65)

  • 检查并切换Java版本:这个错误是因为Java字节码版本65对应Java 21,而当前Gradle版本不支持。执行java -version确认当前版本,降级到Java 17(Expo官方推荐版本)。可以通过设置JAVA_HOME环境变量指向Java 17的安装路径,或者用SDKMAN、jabba这类工具快速切换版本。
  • 清理Gradle缓存:进入项目的android目录,执行./gradlew clean,同时删除本地Gradle缓存目录~/.gradle/caches,避免旧缓存残留导致的版本冲突。
  • 锁定兼容的Gradle版本:打开android/gradle/wrapper/gradle-wrapper.properties,将distributionUrl指定为兼容Java 17的版本,比如https\://services.gradle.org/distributions/gradle-7.6.4-all.zip(Gradle 7.5+支持Java 17)。

二、处理自动生成的values.xml无效颜色问题

  • 排查第三方依赖:这些未引用的颜色大概率来自某个第三方依赖库的资源合并。进入android目录执行./gradlew dependencies生成依赖树,逐一排查近期更新或新增的依赖,尝试升级该依赖到最新稳定版,或者替换为功能类似的其他库。
  • 手动覆盖颜色资源:在项目的android/app/src/main/res/values/colors.xml中添加这些颜色的明确定义,比如:
    <color name="auto_generated_color_1">#ffd6d7d7</color>
    <color name="auto_generated_color_2">#24000000</color>
    
    注意对应自动生成的颜色名称,通过覆盖来解决资源合并时的格式或冲突问题。
  • 排除依赖的资源文件:如果确定是某依赖导致的问题,在android/app/build.gradle的dependencies块中,对该依赖添加资源排除规则,例如:
    implementation('com.example:problematic-lib:1.0.0') {
        exclude group: 'com.example', module: 'lib-resources'
    }
    
    但需注意这可能影响依赖的正常功能,需测试验证。

三、额外排查步骤

  • 执行expo doctor检查项目依赖配置,修复所有提示的不兼容问题。
  • 核对eas.json中preview profile的配置,确保没有指定错误的构建参数或环境变量。

内容的提问来源于stack exchange,提问作者Arne Jenssen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 12:02:44