如何在整个项目中(AndroidStudio)使用Kotlin的ExperimentalUnsignedTypes?

8
我想在我的AndroidStudio项目中使用@ExperimentalUnsignedTypes。看起来我必须在几乎所有地方都加上它,所以我宁愿在整个项目中设置一次。
文档说:

除非使用UseExperimental注释(例如@UseExperimental(ExperimentalUnsignedTypes :: class))或使用-Xuse-experimental = kotlin.ExperimentalUnsignedTypes编译器选项,否则将报告对此类API的用法警告。


我已经认真调整了首选项>>其他设置>>Kotlin编译器

enter image description here

但是我在清理/编译后仍然会收到(大量的)警告。建议我在同一行中添加-XXLanguage:+InlineClasses。但结果是相同的。然后我注意到在同一首选项面板的顶部写着:

enter image description here

这是我的问题吗?如果是,我应该在哪里调整我的应用程序设置,以便这些编译器设置生效?
2个回答

11

即使拼写纠正已经修复,它仍然无法正确编译。我怀疑“...覆盖项目设置...”确实存在问题。但是,在我的(项目)Gradle文件中放置以下内容确实可行:

   android {
 
       …
 
 tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
        kotlinOptions {
            // Disable warnings when using unsigned types
            freeCompilerArgs += "-Xopt-in=kotlin.ExperimentalUnsignedTypes"
        }
    }
}

对我没用。 - Johann
1
Xuse-experimental has been replaced with Xopt-in - Selali Adobor
我发现在这个情况下,我必须在 KotlinCompile 后面添加 ::class 才能使其工作。kotlinOptions 的上下文显示为“已弃用”,所以我认为这一定会再次改变。 - undefined

0
在屏幕截图中,你有 -Xexperimental=...,而不是所需的 -Xuse-experimental=...

所以我这样做了。令人困惑的是,因为它很长,我本来以为我直接从文档中复制粘贴了。即使修复了这个问题,不幸的是它仍然无法工作。 - Travis Griggs
然而,在gradle文件中添加一些内容似乎是有效的。 - Travis Griggs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接