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

升级Flutter 3.24.0后因Razorpay包名冲突致构建失败

Flutter 3.24.0升级后Razorpay包名冲突导致Android构建失败

将Flutter版本升级至3.24.0一天后,项目出现Android构建失败,核心原因是Razorpay相关依赖的包名com.razorpay发生冲突,错误日志如下:

[com.razorpay:checkout:1.6.40] /Users/..../.gradle/caches/transforms-3/8865b1e92255561aafb98c9aa637d5cd/transformed/jetified-checkout-1.6.40/AndroidManifest.xml Error:
    Package name 'com.razorpay' used in: com.razorpay:checkout:1.6.40, com.razorpay:standard-core:1.6.40.
/Users/neerdev/Desktop/flutter_workspace/..../..../android/app/src/debug/AndroidManifest.xml Error:
    Validation failed, exiting
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDevelopmentDebugMainManifest'.

已尝试但无效的解决方案

  • 将Razorpay Flutter库升级至razorpay_flutter 1.3.7
  • 清理并重建Gradle缓存(包括删除缓存目录)
  • 执行命令fvm flutter pub upgrade

相关配置信息

pubspec.yaml核心片段

publish_to: none

environment:
  sdk: ">=2.19.0 <4.0.0"
  flutter: 3.24.0

dependencies:
  # ... 其他依赖省略
  razorpay_flutter: ^1.3.7
  # ... 其他依赖省略

dependency_overrides:
  http: ^0.13.4
  intl: ^0.17.0

gradle-wrapper.properties

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

项目根目录build.gradle(classpath部分)

ext.kotlin_version = '1.8.10'

dependencies {
        classpath 'com.android.tools.build:gradle:7.1.2'
        // START: FlutterFire Configuration
        classpath 'com.google.gms:google-services:4.3.10'
        classpath 'com.google.firebase:firebase-crashlytics-gradle:2.8.1'
        // END: FlutterFire Configuration
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }

有效解决方案尝试

方案1:强制统一Razorpay Android依赖版本

在Android项目的app/build.gradle中,添加强制依赖配置,确保checkout和standard-core使用相同版本,避免包名冲突:

configurations.all {
    resolutionStrategy {
        force 'com.razorpay:checkout:1.6.39'
        force 'com.razorpay:standard-core:1.6.39'
    }
}

说明:降级到1.6.39版本(该版本未出现包名重复问题),或者确认两者使用同一版本号,解决Manifest中包名重复的校验错误。

方案2:升级Android Gradle插件和Gradle版本

当前使用的AGP是7.1.2,Gradle是7.4,和Flutter 3.24.0的兼容性可能存在问题,建议升级到匹配版本:

  • 修改gradle-wrapper.properties的distributionUrl为:
    distributionUrl=https://services.gradle.org/distributions/gradle-7.5-all.zip
    
  • 修改项目根目录build.gradle中的AGP版本为:
    classpath 'com.android.tools.build:gradle:7.2.2'
    

说明:Flutter 3.24.0推荐使用AGP 7.2+和Gradle 7.5+,升级后可能修复Manifest校验的严格性问题。

方案3:排除冲突的依赖传递

检查是否有其他第三方依赖间接引入了不同版本的Razorpay库,在pubspec.yaml的razorpay_flutter依赖中排除冲突的传递依赖:

dependencies:
  razorpay_flutter: ^1.3.7
    exclude:
      group: 'com.razorpay'
      module: 'standard-core'

说明:如果razorpay_flutter本身已经包含了所需的功能,排除重复的standard-core依赖即可。

方案4:禁用Manifest包名校验(临时方案)

如果以上方法都无效,可临时禁用Android的Manifest包名校验,在app/build.gradle的android块中添加:

android {
    // ... 其他配置
    lintOptions {
        checkReleaseBuilds false
        abortOnError false
        disable 'PackageName'
    }
}

说明:这是临时解决方案,不建议长期使用,仅用于紧急恢复构建,后续仍需找到根本冲突原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 23:15:52