[英]Upgrade from Kotlin 1.3.31 -> 1.3.40 breaks Android build
如果我嘗試在我的 Gradle 項目中升級到最新的 Kotlin 版本,我會在構建我的 Android 子項目時遇到以下錯誤:
e: /(redacted)/AndroidLauncher.kt: (8, 15): Cannot access built-in declaration 'kotlin.Unit'. Ensure that you have a dependency on the Kotlin standard library
降級回 1.3.31 構建良好。 我還嘗試將我的 com.android.tools.build 版本從 3.4.0 -> 3.4.1 升級,但沒有區別。
該錯誤清楚地表明,很難找到 Kotlin STL。 是否有一些我需要添加的新依賴項或我需要應用的插件?
這種行為是最近修復的問題https://youtrack.jetbrains.com/issue/KT-19227的結果。 以前,當編譯模塊不依賴 Kotlin stdlib 時,一些內置聲明(如kotlin.Unit
是從編譯器內部加載的。 目前,這種情況會導致構建失敗,這是一種不那么令人驚訝的行為。
要再次編譯您的項目,請在您的android
子項目中添加implementation(kotlin("stdlib"))
依賴項。
我不知道它是否對某人有幫助,我有類似的問題,但是從 1.3.40 到 1.3.61(不是從 1.3.31 到 1.3.40); 在我的情況下,使用 Android Studio 可以解決此問題:
在 Project build.gradle 中,我離開了 kotlin 版本 1.3.61 並放置了 gradle:3.5.0 而不是 3.6.1,它不起作用。 標題中有錯誤:
buildscript { ext.kotlin_version = '1.3.61' ... dependencies { classpath 'com.android.tools.build:gradle:3.5.0' ... }
在模塊 build.gradle 中,我在 apply plugin: 'kotlin-android-extensions' 之前放置了 apply plugin: 'kotlin-android'
希望它也適用於其他人。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.