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

Flutter 2.5.0打包APK报错ClassNotFoundException该如何解决

问题复现

使用Flutter 2.5.0版本,执行以下构建命令打包APK:
flutter build apk --split-per-abi --no-sound-null-safety --no-tree-shake-icons --no-shrink -v
抛出如下错误:

Caused by: java.lang.ClassNotFoundException: com.android.tools.lint.client.api.Vendor
[ ] at com.intellij.util.lang.UrlClassLoader.findClass(UrlClassLoader.java:328)
[ ] at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
[ ] at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)

问题原因

该报错核心是Flutter 2.5.0默认适配的Android Gradle Plugin(AGP)版本和当前项目使用的AGP版本不兼容,高版本AGP移除了旧版Lint组件中com.android.tools.lint.client.api.Vendor相关API,导致类加载失败。

解决方案

方案一:禁用Lint检查(最快解决)

无需调整Gradle版本,直接关闭编译阶段的Lint检查即可,适配旧版Flutter项目推荐用这个方案:

  • 打开项目安卓根目录下的配置文件android/build.gradle
  • 在android代码块中添加如下配置:
android {
    // 你原有项目的其他配置保持不变,新增下方lint配置
    lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }
}
  • 保存后重新执行构建命令即可。

方案二:调整AGP和Gradle版本适配

如果你需要保留Lint检查功能,将AGP和Gradle版本降级到Flutter 2.5.0兼容的版本即可:

  • 打开android/build.gradle,修改AGP依赖版本为4.1.0:
dependencies {
    classpath 'com.android.tools.build:gradle:4.1.0'
    // 其他原有依赖保持不变
}
  • 打开android/gradle/wrapper/gradle-wrapper.properties,修改Gradle分发版本为6.5:
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip
  • 保存配置后重新同步项目,再执行构建命令即可。

补充操作

如果修改配置后依然报错,先执行缓存清理操作再构建:

  • 执行flutter clean清理项目编译缓存
  • 执行flutter pub get重新拉取项目依赖
  • 重新运行APK构建命令

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 13:54:04