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

React Native构建Android应用报错:minCompileSdk(31)高于compileSdkVersion(30)

解决React Native 0.67.4 Android构建依赖冲突问题

问题根源

报错核心是项目中某个第三方依赖间接引入了 androidx.appcompat:appcompat:1.4.1,这个版本要求最低编译SDK版本为31,但当前项目配置的compileSdkVersion是30,同时你在项目里指定的appcompat版本是1.2.0,导致依赖版本不一致+编译版本不兼容。

解决方案一:强制统一appcompat版本(无需升级compileSdk)

这个方案能快速解决版本冲突,让所有依赖都使用兼容compileSdk30的1.2.0版本:

  1. 打开项目根目录的build.gradle文件,在allprojects块中添加依赖强制策略:
allprojects {
    repositories {
        // 保留已有的仓库配置(google()、mavenLocal()等)
    }

    configurations.all {
        resolutionStrategy {
            // 强制所有模块使用指定的appcompat版本
            force 'androidx.appcompat:appcompat:1.2.0'
        }
    }
}
  1. 检查app模块下的build.gradle,确保明确声明appcompat依赖(如果之前没加的话):
dependencies {
    implementation "androidx.appcompat:appcompat:1.2.0"
    // 或者用你ext里定义的androidXVersion变量:implementation "androidx.appcompat:appcompat:$androidXVersion"
}
  1. 清理Gradle缓存并重新构建:
./gradlew clean
./gradlew assembleDebug

解决方案二:升级compileSdkVersion到31(更彻底的长期方案)

如果想适配Android 12及以上的规范,建议直接升级编译版本:

  1. 修改根目录build.gradle里的ext配置:
buildscript {
    ext {
        buildToolsVersion = "31.0.0" // 对应compileSdk31的buildTools版本
        compileSdkVersion = 31
        targetSdkVersion = 31
        // 其他配置保持不变
    }
    // 仓库配置不变
}
  1. 确认app模块的build.gradle引用了这些全局变量:
android {
    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion

    defaultConfig {
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        // 其他默认配置...
    }
}
  1. 清理缓存后重新构建:
./gradlew clean
./gradlew assembleDebug

方案选择建议

  • 若只想快速修复构建问题,优先选方案一,无需改动项目的编译版本配置;
  • 若计划适配Android 12及以上系统功能,选方案二,但需注意检查其他第三方依赖是否支持targetSdk31,部分旧库可能需要升级版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 11:25:18