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

迁移Android项目至Kotlin 2.0时出现类加载器约束冲突构建错误

Kotlin 2.0迁移时类加载器约束冲突(LinkageError)原因分析

问题场景

原本运行正常的Android应用,仅修改项目根build.gradle中的Kotlin插件版本:
原配置:

id("org.jetbrains.kotlin.android") version "1.9.20" apply false
id("org.jetbrains.kotlin.jvm") version "1.9.20" apply false

修改为:

id("org.jetbrains.kotlin.android") version "2.0.0" apply false
id("org.jetbrains.kotlin.jvm") version "2.0.0" apply false

Android Studio已将Kotlin编译器版本设为2.0.0,但构建时抛出类加载器约束冲突的LinkageError,核心报错信息如下:

> FAILURE: Build failed with an exception.
> 
> * What went wrong: loader constraint violation in interface itable initialization for class
> com.android.build.gradle.internal.api.VariantFilter: when selecting
> method 'com.android.builder.model.ProductFlavor
> com.android.build.api.variant.VariantFilter.getDefaultConfig()' the
> class loader
> org.gradle.internal.classloader.VisitableURLClassLoader$InstrumentingVisitableURLClassLoader
> @4a9dd382 for super interface
> com.android.build.api.variant.VariantFilter, and the class loader
> org.gradle.internal.classloader.VisitableURLClassLoader$InstrumentingVisitableURLClassLoader
> @6a9d9b6 of the selected method's class,
> com.android.build.gradle.internal.api.VariantFilter have different
> Class objects for the type com.android.builder.model.ProductFlavor
> used in the signature (com.android.build.api.variant.VariantFilter is
> in unnamed module of loader
> org.gradle.internal.classloader.VisitableURLClassLoader$InstrumentingVisitableURLClassLoader
> @4a9dd382, parent loader
> org.gradle.internal.classloader.CachingClassLoader @6916758b;
> com.android.build.gradle.internal.api.VariantFilter is in unnamed
> module of loader
> org.gradle.internal.classloader.VisitableURLClassLoader$InstrumentingVisitableURLClassLoader
> @6a9d9b6, parent loader
> org.gradle.internal.classloader.VisitableURLClassLoader$InstrumentingVisitableURLClassLoader
> @4a9dd382)
> 
> * Try:
> > 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.
> 
> * Exception is: java.lang.LinkageError: loader constraint violation in interface itable initialization for class
> com.android.build.gradle.internal.api.VariantFilter: when selecting
> method 'com.android.builder.model.ProductFlavor
> com.android.build.api.variant.VariantFilter.getDefaultConfig()' the
> class loader
> org.gradle.internal.classloader.VisitableURLClassLoader$InstrumentingVisitableURLClassLoader
> @4a9dd382 for super interface
> com.android.build.api.variant.VariantFilter, and the class loader
> org.gradle.internal.classloader.VisitableURLClassLoader$InstrumentingVisitableURLClassLoader
> @6a9d9b6 of the selected method's class,
> com.android.build.gradle.internal.api.VariantFilter have different
> Class objects for the type com.android.builder.model.ProductFlavor
> used in the signature (com.android.build.api.variant.VariantFilter is
> in unnamed module of loader
> org.gradle.internal.classloader.VisitableURLClassLoader$InstrumentingVisitableURLClassLoader
> @4a9dd382, parent loader
> org.gradle.internal.classloader.CachingClassLoader @6916758b;
> com.android.build.gradle.internal.api.VariantFilter is in unnamed
> module of loader
> org.gradle.internal.classloader.VisitableURLClassLoader$InstrumentingVisitableURLClassLoader
> @6a9d9b6, parent loader
> org.gradle.internal.classloader.VisitableURLClassLoader$InstrumentingVisitableURLClassLoader
> @4a9dd382)    at
> com.android.build.gradle.internal.VariantManager.<init>(VariantManager.kt:1023)
>   ...(后续类似报错内容省略)

可能的原因

  • AGP版本与Kotlin 2.0.0不兼容:Kotlin 2.0.0对Android Gradle Plugin(AGP)有最低版本要求,若当前AGP版本过旧,AGP内部的类加载逻辑会与新Kotlin插件产生冲突——不同类加载器加载了com.android.builder.model.ProductFlavor类的不同版本,导致接口方法签名的类实例不统一,触发约束冲突。
  • 构建缓存残留:Gradle构建缓存或Android Studio的IDE缓存中保留了旧版本Kotlin、AGP的类文件,新旧类混合加载时,类加载器无法识别为同一类,引发冲突。
  • 依赖传递冲突:Kotlin 2.0.0插件可能引入了与当前AGP依赖版本不一致的库,间接导致ProductFlavor等核心类被重复加载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 11:13:20