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

React Native执行npm run android时mergeDebugResources失败求助

解决方案

1. 修复Android Gradle Plugin (AGP) 与 compileSdk 版本不匹配问题

AGP 7.0.4 仅支持最高 compileSdk 31,你当前使用的 compileSdk 33 超出了它的兼容范围,这会引发兼容性警告,甚至间接导致资源合并错误。可以二选一调整:

方式一:降低 compileSdk 版本到 31

打开项目根目录下的 android/build.gradle 文件,修改 compileSdkVersion:

buildscript {
    ext {
        compileSdkVersion = 31 // 从33改为31
        // 其他配置保持不变
    }
}

方式二:升级 AGP 版本到支持 compileSdk 33 的版本

AGP 7.1.0+ 支持 compileSdk 33,修改 android/build.gradle 中的 AGP 版本:

buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:7.1.3' // 从7.0.4改为7.1.3
    }
}

同时匹配 gradle wrapper 版本(AGP7.1.x 需要 gradle 7.2+),修改 android/gradle/wrapper/gradle-wrapper.properties:

distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip

2. 解决 material-1.9.0 资源宏类型识别失败问题

该错误源于 material 1.9.0 引入的 Material 3 资源与 React Native 0.68.2 的资源系统不兼容,可通过以下方式处理:

强制统一 material 库版本

在 android/build.gradle 的 allprojects 块中添加依赖强制规则,将 material 版本降级到与 RN 0.68.2 兼容的 1.7.0:

allprojects {
    repositories {
        // 现有仓库配置保留
    }
    configurations.all {
        resolutionStrategy {
            force 'com.google.android.material:material:1.7.0'
        }
    }
}

清理缓存并重新构建

完成上述修改后,执行以下命令清理缓存、重新编译:

cd android
./gradlew clean
cd ..
npm run android

额外检查

  • 若模拟器仍有运行问题,可尝试切换到 API 31 的模拟器,与修改后的 compileSdk 版本保持一致。
  • 可通过 ./gradlew app:dependencies 命令查看依赖树,排查是否有第三方库强制引入了高版本 material 库。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 00:17:16