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

Flutter Android构建报错:Sealed classes are not supported as program classes 如何解决?

问题描述

ERROR:/Users/otabekochilov/.gradle/caches/transforms-3/99d4ac1fb93dcdf71f5d6e6abf284220/transformed/jetified-lottie-compose-6.2.0-runtime.jar: D8: com.android.tools.r8.internal.YI0: Sealed classes are not supported as program classes
FAILURE: Build failed with an exception.

  • 出错原因:
    任务':app:mergeExtDexDevDebug'执行失败。

无法解析':app:devDebugRuntimeClasspath'配置的所有文件。
无法将lottie-compose-6.2.0.aar(com.airbnb.android:lottie-compose:6.2.0)转换为匹配属性{artifactType=android-dex, asm-transformed-variant=NONE, dexing-enable-desugaring=true, dexing-is-debuggable=true, dexing-min-sdk=21, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}。

DexingWithClasspathTransform执行失败:/Users/otabekochilov/.gradle/caches/transforms-3/99d4ac1fb93dcdf71f5d6e6abf284220/transformed/jetified-lottie-compose-6.2.0-runtime.jar。
Dex转换时出错。

解决方案
  • 降低Lottie Compose版本
    Lottie 6.x版本引入了Java 17的密封类特性,当前构建环境不支持该特性。将pubspec.yaml中的lottie依赖降级到兼容的5.x系列(如5.2.0):

    dependencies:
      lottie: ^5.2.0
    

    执行flutter pub get更新依赖后重新构建项目。

  • 更新Android Gradle插件与Gradle版本
    若需保留Lottie 6.x版本,需确保Android Gradle Plugin (AGP) ≥7.4、Gradle ≥8.0:

    1. 修改android/build.gradle中的AGP版本:
      buildscript {
        dependencies {
          classpath 'com.android.tools.build:gradle:7.4.2'
        }
      }
      
    2. 修改gradle/wrapper/gradle-wrapper.properties中的Gradle版本:
      distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
      
  • 启用核心库脱糖
    在android/app/build.gradle的android块内添加配置,启用核心库脱糖以支持Java 17特性:

    android {
      compileOptions {
        coreLibraryDesugaringEnabled true
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
      }
      kotlinOptions {
        jvmTarget = '17'
      }
    }
    
    dependencies {
      coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4'
    }
    
  • 清理构建缓存
    执行以下命令清理缓存后重新构建:

    flutter clean
    rm -rf ~/.gradle/caches
    flutter run
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 21:47:04