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

React Native执行gradlew app:assembleRelease打包失败报错求助

问题分析与解决方法

问题根源

gradlew bundleRelease默认不会触发lint检查,而gradlew app:assembleRelease会自动执行lintVitalRelease发布前校验任务,你遇到的报错本质是当前使用的AGP(Android Gradle Plugin)4.1.0版本,和旧版本@react-native-community/progress-bar-android组件的构建变体规则不兼容,校验任务请求的packagingOptions属性构建类型,在第三方组件中只有debug、release两个变体,无法匹配导致构建失败。

排查步骤

  • 确认项目引入的@react-native-community/progress-bar-android版本,1.0.4以下的版本未适配AGP 4.x的变体匹配规则
  • 检查app模块下的build.gradle文件,是否误自定义了名为packagingOptions的构建类型
  • 检查执行assembleRelease命令时,是否附加了自定义构建类型的参数

解决方案

方案1:关闭Release构建的lint检查(快速临时解决)

在app模块的build.gradle的android代码块中添加如下配置,跳过lint校验任务,不会影响打包后应用的实际功能:

android {
  // 保留原有配置不变
  lintOptions {
    checkReleaseBuilds false
    abortOnError false
  }
}

方案2:升级冲突组件(推荐永久解决)

将@react-native-community/progress-bar-android升级到1.0.4及以上的适配版本,新版本已经兼容AGP 4.x的变体规则:
npm升级命令:
npm install @react-native-community/progress-bar-android@latest
yarn升级命令:
yarn add @react-native-community/progress-bar-android@latest
升级完成后重新执行打包命令即可。

方案3:添加变体匹配规则(无法升级组件时使用)

如果项目因为其他兼容性限制无法升级该组件,可以在app模块的build.gradle中手动添加变体匹配规则,将packagingOptions的请求映射到已有的release变体:

android {
  // 保留原有配置不变
  buildTypes {
    packagingOptions {
      matchingFallbacks = ['release']
    }
    release {
      // 保留原有release构建类型的配置不变
    }
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 18:09:02