Android 项目升级 kotlin到1.6出现的问题

本文记录了作者在将Android项目中的Kotlin版本从1.6降至1.5.31以解决Jetpack Compose兼容性问题的过程。提供了具体的Gradle配置示例来禁用版本检查。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android 项目升级 kotlin到1.6出现的问题

前言

由于最近将自己的库进行升级,把能和Android分离的库,都处理成跨平台库,或者jvm的库。在最新的IDEA中顺手就将kotlin升级到了1.6.10 ,万万没想到,灾难来了。由于jetpack compose 1.0.5版本还是依赖在kotlin1.5,jetpack compose代码就会报各种错误,如下:

void org.jetbrains.kotlin.psi2ir.generators.TypeTranslatorImpl.(org.jetbrains.kotlin.ir.util.ReferenceSymbolTable, org.jetbrains.kotlin.config.LanguageVersionSettings, org.jetbrains.kotlin.descriptors.ModuleDescriptor, kotlin.jvm.functions.Function0, boolean, org.jetbrains.kotlin.ir.util.StubGeneratorExtensions, int, kotlin.jvm.internal.DefaultConstructorMarker)’


ExperimentalAnimationApi Opt-in requirement marker annotation on override requires the same marker on


Please fix your configuration (or suppressKotlinVersionCompatibilityCheck

等等。。。

解决方法

只能把kotlin的版本降到1.5.31,最简单的方法就是全局搜索kotlin,然后将有版本1.6以上的,都改成1.5.31.
如果有些第三方库你没法改,那就试下下面这个:
修改app/build.gradle.kts

android {
    
    kotlinOptions {
        jvmTarget = Kotlin.jvm_target
        freeCompilerArgs += listOf(
            "-P",
            "plugin:androidx.compose.compiler.plugins.kotlin:suppressKotlinVersionCompatibilityCheck=true",
            "-Xuse-experimental=kotlin.ExperimentalUnsignedTypes",
            "-Xuse-experimental=kotlinx.coroutines.ExperimentalCoroutinesApi",
            "-Xuse-experimental=kotlinx.coroutines.InternalCoroutinesApi",
            "-Xuse-experimental=androidx.compose.animation.ExperimentalAnimationApi",
            "-Xuse-experimental=androidx.compose.ExperimentalComposeApi",
            "-Xuse-experimental=androidx.compose.material.ExperimentalMaterialApi",
            "-Xuse-experimental=androidx.compose.runtime.ExperimentalComposeApi",
            "-Xuse-experimental=androidx.compose.ui.ExperimentalComposeUiApi",
            "-Xuse-experimental=coil.annotation.ExperimentalCoilApi",
            "-Xuse-experimental=kotlinx.serialization.ExperimentalSerializationApi",
            "-Xuse-experimental=com.google.accompanist.pager.ExperimentalPagerApi"
        )
    }
}

使用groovy的同学自己转换下了。
如果还不行,报了其他错误的话,暂时我也不清楚了。

完事

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值