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

React Native项目需保留minSdkVersion19,如何解决版本冲突报错?

问题描述

我的React Native应用配置

android/app/build.gradle:

defaultConfig {
    minSdkVersion 19
    targetSdkVersion 30
    compileSdkVersion 30
    buildToolsVersion '30.0.3'
    multiDexEnabled true
    missingDimensionStrategy 'react-native-camera', 'mlkit'
    missingDimensionStrategy 'react-native-camera', 'general'
}

gradle-wrapper.properties:

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

报错信息

minSdkVersion 19 cannot be smaller than version 21 declared in library [com.facebook.react:react-native:0.71.0-rc.0]

由于大量用户仍在使用低版本Android系统,必须支持minSdkVersion 19,需在保留该版本的前提下解决报错。


解决方案
  • 强制覆盖依赖库的minSdkVersion:在android/build.gradle的allprojects块中添加resolutionStrategy,强制统一所有依赖库的minSdkVersion为19。修改后的代码如下:
allprojects {
    repositories {
        // 保留原有仓库配置
    }

    configurations.all {
        resolutionStrategy {
            // 遍历所有模块,强制修改minSdk元数据
            eachModule { module ->
                module.metaData {
                    if (it.containsKey('minSdkVersion')) {
                        it.put('minSdkVersion', 19)
                    }
                }
            }
            // 锁定react-native版本,避免依赖冲突
            force 'com.facebook.react:react-native:0.71.0-rc.0'
        }
    }
}
  • 完善MultiDex低版本适配:虽然已开启multiDexEnabled true,需确保API 19设备上的MultiDex配置完整:

    1. 在android/app/src/main/java/[你的包名]/MainApplication.java中,将继承类改为MultiDexApplication:
      public class MainApplication extends MultiDexApplication implements ReactApplication {
          // 原有代码
      }
      
    2. 若使用自定义Application类,需在attachBaseContext方法中添加初始化代码:
      @Override
      protected void attachBaseContext(Context base) {
          super.attachBaseContext(base);
          MultiDex.install(this);
      }
      
  • 降级React Native版本:React Native 0.71.x官方最低要求minSdk 21,若上述方法无效,可降级到0.69.x或更低版本——这些版本原生支持minSdk 19。降级后需同步调整其他依赖库版本,避免版本不兼容。

  • 排查冲突依赖:执行./gradlew app:dependencies命令查看完整依赖树,找出除react-native外其他限制minSdk的库,针对性处理(如降级对应库版本或同样强制覆盖其minSdk配置)。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 19:35:19