This declaration needs opt-in. Its usage must be marked with ‘@kotlin.ExperimentalStdlibApi‘ or ‘@Op

记录一个特别大的坑,编译报错:

This declaration needs opt-in. Its usage must be marked with '@kotlin.ExperimentalStdlibApi' or '@OptIn(kotlin.ExperimentalStdlibApi::class)'

对报错类加完该注解后,又陆陆续续报出更多的类有这个错误,改到后面发现几乎全部kotlin的类都有这个问题,一个一个加太麻烦了。

百度+Google搞了一个晚上+一个上午,终于找到了该问题的科学解决方案:

问题原因:调用kotlin实验性API时需要加注解,表明你了解调用风险,否则编译报错。

解决方案:

在项目级的build.gradle中加入:

allprojects {
……
gradle.projectsEvaluated {
        ……
        tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
            kotlinOptions.freeCompilerArgs += ["-opt-in=kotlin.ExperimentalStdlibApi"]
        }
         
    }
}

博主AS编译环境:

gradle plugin version:7.3.0

gradle version:7.4

jdk:11

kotlin plugin:1.7.10

ktx:1.7.0

猜你喜欢

转载自blog.csdn.net/yonghuming_jesse/article/details/130639346