簡體   English   中英

嘗試更新到 Kotlin 1.4.0 時出現奇怪的錯誤。 如何使其與 Gradle 和 IntelliJ IDEA 2020.2.1 一起使用?

[英]Getting weird bugs when trying to update to Kotlin 1.4.0. How to make it work with Gradle and IntelliJ IDEA 2020.2.1?

Kotlin 1.4.0 現在穩定了。 因此,我想更新我的多模塊 Android 項目以使用它。 我將 IDEA 設置為使用 Kotlin 插件 1.4.0-release-IJ2020.2-1,並在我的 buildSrc build.gradle.kts 中使用 Kotlin DSL,我正在為 jvm 加載 Kotlin,如下所示:

plugins {
    kotlin("jvm") version "1.4.0"
}

我的應用級插件塊看起來像這樣

plugins {
    id("com.android.application")
    id("com.google.gms.google-services")
    kotlin("android")
    kotlin("kapt")
    id("kotlin-android-extensions")
    id("androidx.navigation.safeargs.kotlin")
}

我還將 Kotlin stdlib 添加到我的應用程序級別 build.gradle.kts 依賴項

implementation("org.jetbrains.kotlin:kotlin-stdlib:1.4.0")

現在嘗試構建我的項目時,出現多個錯誤,如下所示:

'let((T) -> R): R' is only available since Kotlin 1.3.50 and cannot be used in Kotlin 1.3

我不明白。 gradle 在這里如何嘗試使用 Kotlin 1.3? 關於如何解決這個問題的任何想法? 它在使用 Kotlin v1.3.72 時工作正常。

到目前為止我嘗試了什么:

  • 潔凈工程
  • 使緩存無效並重新啟動
  • 刪除.gradle文件夾,重啟
  • 修復損壞的類路徑

更新忘記提及我也收到以下警告。 穩定的時候怎么不支持呢?

> Configure project :buildSrc
WARNING: Unsupported Kotlin plugin version.
The `embedded-kotlin` and `kotlin-dsl` plugins rely on features of Kotlin `1.3.72` that might work differently than in the requested version `1.4.0`.

也許您應該明確地將 Kotlin 標准庫添加到您的依賴項中?

dependencies {
    implementation(kotlin("stdlib"))
}

使用 Kotlin 1.4 不再需要它添加此依賴項。 該插件默認將 Stdlib 應用於它所應用的項目。

來自Kotlin 1.4 發行說明

您不再需要在任何 Kotlin Gradle 項目(包括多平台項目)中聲明對 stdlib 庫的依賴。 默認添加依賴項。

自動添加的標准庫將與 Kotlin Gradle 插件的版本相同,因為它們具有相同的版本控制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM