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

集成OpenCV后Flutter构建Prod环境APK失败问题求助

Flutter构建prod flavor APK时遭遇OpenCV BuildConfig重复定义错误

我在Flutter项目中集成了Android版OpenCV SDK,调试模式下运行完全正常,但执行flutter build apk --flavor prod构建正式环境APK时,触发了R8编译错误,提示org.opencv.BuildConfig被多次定义,错误日志如下:

ERROR:C:\Users\Wesley\.gradle\caches\transforms-3\a70cc01f707cb65bbfec9756913c8264\transformed\jetified-opencv_android_module-3.1.0-fix3-runtime.jar: 
R8: Type org.opencv.BuildConfig is defined multiple times: 
C:\Users\Wesley\.gradle\caches\transforms-3\a70cc01f707cb65bbfec9756913c8264\transformed\jetified-opencv_android_module-3.1.0-fix3-runtime.jar:org/opencv/BuildConfig.class, 
C:\Mobile App\Mobile-App\mobile-app\build\sdk\intermediates\runtime_library_classes_jar\prodRelease\classes.jar:org/opencv/BuildConfig.class

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:minifyProdReleaseWithR8'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.R8Task$R8Runnable
   > Compilation failed to complete, origin: C:\Users\Wesley\.gradle\caches\transforms-3\a70cc01f707cb65bbfec9756913c8264\transformed\jetified-opencv_android_module-3.1.0-fix3-runtime.jar:org/opencv/BuildConfig.class

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1m 13s
Running Gradle task 'assembleProdRelease'...                       74.7s
Gradle task assembleProdRelease failed with exit code 1

已尝试的解决方案

  • 执行Android Studio的Invalidate Caches/Restart操作
  • 删除项目根目录及用户目录下的.gradle缓存文件夹
  • 删除项目的build文件夹
  • 组合上述操作后重新同步Gradle、清理项目并重新构建
  • 将主项目的flavor配置复制到OpenCV模块的build.gradle文件中

以上操作均未解决问题,调试模式下OpenCV的使用完全正常,仅构建prod flavor的release包时会触发错误。

相关配置代码

app/build.gradle 依赖配置

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

    implementation platform('com.google.firebase:firebase-bom:29.0.4')
    implementation 'com.google.firebase:firebase-analytics-ktx'
    implementation 'com.google.firebase:firebase-crashlytics-ktx'
    implementation project(path: ':openCV:sdk')
}

app/build.gradle BuildTypes与Flavors配置

buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            debuggable false

            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release
        }
        debug {
            shrinkResources false

            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

flavorDimensions "appMode"
    productFlavors {
        qa {
            dimension "appMode"
            //applicationIdSuffix ".debug"
            manifestPlaceholders = [appName: "@string/app_name_qa"]
        }
        prod {
            dimension "appMode"
            manifestPlaceholders = [appName: "@string/app_name"]
        }
    }

我尝试了所有能想到的常规解决方案都无效,希望能得到针对性的解决建议。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 12:07:04