Iho*_*ony 4 android kotlin android-jetpack-compose
升级到 jetpack compose 1.0.0-beta01 后,我尝试使用 kotlin.collections 中的 arrayListOf、listOf,但它们似乎没有隐式导入。
您的问题可能与您使用的Kotlin 版本有关。
我想我在更新到新版本的 Jetpack Compose 库时经历了与您类似的过程,作为“副作用”,我被迫更新 kotlin 和 kotlin-gradle-plugin 版本,然后间接导致您的(和我的)问题。以下解决方法应该可以解决它。
您很可能Kotlin 1.4.30
在将 Jetpack Compose 更新为1.0.0-beta01
. 将 Kotlin 更新到固定1.4.31
版本,您的问题将几乎“解决”。
如果您更感兴趣,我认为整个问题与 1.4.30 中的以下错误有关https://youtrack.jetbrains.com/issue/KT-44845
现在在尝试构建您的项目后,您将收到一个很好的错误提示 This version (1.0.0-alpha13) of the Compose Compiler requires Kotlin version 1.4.30 but you appear to be using Kotlin version 1.4.31 which is not known to be compatible. Please fix your configuration (or `suppressKotlinVersionCompatibilityCheck` but don't say I didn't warn you!).
SuppressKotlinVersionCompatibilityCheck是一个编译参数,在我的情况下,我在 android -> kotlinOptions 下的模块 build.gradle 文件中设置了这个参数:
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8
useIR = true
//here -->
freeCompilerArgs += ["-P", "plugin:androidx.compose.compiler.plugins.kotlin:suppressKotlinVersionCompatibilityCheck=true"]
}
Run Code Online (Sandbox Code Playgroud)
它还取决于 build.gradle 文件的类型。在配置编译器参数 中阅读有关如何设置这些编译参数的更多信息, 其中描述了 groovy 和基于 kotlin 的 gradle 文件的不同方式。
现在您应该没问题,但请记住,suppressKotlinVersionCompatibilityCheck
一旦有新版本的 Jetpack Compose 依赖于较新版本的 Kotlin ,您就想摆脱争论。
归档时间: |
|
查看次数: |
876 次 |
最近记录: |