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

Flutter从3.0.5升级到3.3.10后Android构建失败求助

Flutter升级后Android构建出现androidx.lifecycle重复类的解决办法

2022年2月将Flutter升级至最新稳定版(此前项目已一年未升级),为适配要求Android编译版本33的新包同步升级了Flutter与Dart,执行以下步骤后Android构建失败:

  • flutter channel stable
  • flutter upgrade
  • flutter doctor
  • flutter pub outdated
  • flutter pub upgrade --major-versions
  • flutter pub cache repair
  • flutter clean && flutter pub get
  • flutter build apk

报错信息:

Execution failed for task ':app:checkReleaseDuplicateClasses'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable
   > Duplicate class androidx.lifecycle.ViewModelLazy found in modules jetified-lifecycle-viewmodel-ktx-2.3.1-runtime (androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1) and lifecycle-viewmodel-2.5.1-runtime (androidx.lifecycle:lifecycle-viewmodel:2.5.1)
     Duplicate class androidx.lifecycle.ViewTreeViewModelKt found in modules jetified-lifecycle-viewmodel-ktx-2.3.1-runtime (androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1) and lifecycle-viewmodel-2.5.1-runtime (androidx.lifecycle:lifecycle-viewmodel:2.5.1)
Go to the documentation to learn how to <a href="d.android.com/r/tools/classpath-sync-errors">Fix dependency resolution errors</a>.

问题原因

不同依赖包引入了版本冲突的androidx.lifecycle库,旧版lifecycle-viewmodel-ktx:2.3.1与新版lifecycle-viewmodel:2.5.1中存在重复类,导致构建时冲突。

解决方案

  1. 定位冲突依赖来源

    • 执行flutter pub deps --style=compact,搜索lifecycle-viewmodel-ktx,找到引入旧版本库的第三方包。
    • 或进入项目android目录,执行./gradlew app:dependencies(Windows系统用gradlew.bat app:dependencies),查看更详细的Android端依赖树,精准定位冲突来源。
  2. 强制统一依赖版本
    在项目android/build.gradle的allprojects区块中添加版本强制配置,将所有lifecycle相关依赖统一到兼容版本(示例用2.5.1,可根据Flutter版本调整):

    allprojects {
        repositories {
            google()
            mavenCentral()
        }
        
        configurations.all {
            resolutionStrategy {
                force 'androidx.lifecycle:lifecycle-viewmodel:2.5.1'
                force 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1'
            }
        }
    }
    
  3. 清理并重新构建
    依次执行以下命令:

    • flutter clean
    • flutter pub get
    • flutter build apk
  4. 优先升级冲突依赖包
    如果查到是某个第三方包依赖了旧版lifecycle库,优先升级该包到最新版本,多数情况下官方会修复依赖版本兼容问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 06:45:35