WebHU - Programozási kérdések és válaszok

Hol helyezhetem el a "suppressKotlinVersionCompatibilityCheck" jelzőt?

A kotlin 1.4.21-2 verzióját próbálom használni, amely egy újabb verzió, amely tartalmaz egy javítást, amely lehetővé teszi a Compose + Kotlin szerializálás használatát anélkül, hogy a build lefagyna. Ez mind nagyszerű, azonban a Compose fordító nem tud róla, és a következő (meglehetősen haszontalan) hibát adja:

e: A Compose Compiler ehhez a verziójához (1.0.0-alpha09) a Kotlin 1.4.21-es verziója szükséges, de úgy tűnik, hogy Ön a Kotlin 1.4.21-2-es verzióját használja, amelyről ismert, hogy nem kompatibilis. Kérjük, javítsa ki a konfigurációt (vagy suppressKotlinVersionCompatibilityCheck, de ne mondja, hogy nem figyelmeztettem!).

Szívesen megadnám ezt az eltiltó jelzőt, de nem tudom, hova tegyem... Körülbelül egy órát töltöttem azzal, hogy véletlenszerű helyekre helyezzem el a gradle fájljaimban, például a composeOptions-ban, de nem sikerült. Kipróbáltam az összes google-fu-t is, amit ismerek, de úgy tűnik, senki sem használta ezt, és nem írt róla semmit.

Van valami ötletetek, hogyan lehet kikerülni ebből a szorult helyzetből?


Válaszok:


1

Itt talált egy példát egy kts-fájlban:

Úgy tűnik, ez egy parancssori argumentum.

03.01.2021

2

Ugyanez a problémám az üzenettel:

e: This version (1.0.0-alpha11) of the Compose Compiler requires Kotlin version 1.4.21-2 but you appear to be using Kotlin version 1.4.21 which is not known to be compatible.  Please fix your configuration (or `suppressKotlinVersionCompatibilityCheck` but don't say I didn't warn you!).

A fordító args hozzáadása megoldotta a problémámat:

"-P", "plugin:androidx.compose.compiler.plugins.kotlin:suppressKotlinVersionCompatibilityCheck=true"

Hozzáadhatja az összes KotlinCompile feladathoz. Az alkalmazásszintű Gradle-ben a következőképpen néz ki:

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
    kotlinOptions {
        jvmTarget = "1.8"
        freeCompilerArgs += [
                "-Xallow-jvm-ir-dependencies",
                "-P",
                "plugin:androidx.compose.compiler.plugins.kotlin:suppressKotlinVersionCompatibilityCheck=true"
        ]
    }
}
04.02.2021

3

ha KTS-t használ,

android {
    ...

    kotlinOptions {
        jvmTarget = "1.8"
        useIR = true

        freeCompilerArgs = listOf(
            "-P",
            "plugin:androidx.compose.compiler.plugins.kotlin:suppressKotlinVersionCompatibilityCheck=true"
        )

    ...
}
24.04.2021

4

A Kotlin Gradle beépülő modult mindig egyszerűen visszaminősítheti a benne szereplő verzióra, azaz:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    val compose_version by extra("1.0.0-beta07")

    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath("com.android.tools.build:gradle:7.0.0-beta02")
        
        // This is the line you want to change to the needed version
        classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.32")
    }
}
27.05.2021
Új anyagok

A rádiógomb ellenőrzött eseményének használata a jQueryben
Ebben a cikkben látni fogjuk, hogyan kell dolgozni a jquery választógombbal ellenőrzött eseményeivel. A választógombok HTML gombok, amelyek segítenek kiválasztani egyetlen értéket egy csoportból...

Körkörös függőségek megoldása terraformban adatforrásokkal – lépésről lépésre
Mi az a körkörös függőségek Dolgozzunk egy egyszerű eseten, amikor az SQS-sor és az S3-vödör közötti körkörös függőség problémája van egy egymástól függő címkeérték miatt. provider..

Miért érdemes elkezdeni a kódolást 2023-ban?
01100011 01101111 01100100 01100101 — beep boop beep boop Világunk folyamatosan fejlődik a technológia körül, és naponta fejlesztenek új technológiákat a valós problémák megoldására. Amint..

🎙 Random Noise #2  – Örökbefogadás és hit
az analitika íratlan világának gondozása Szeretné, hogy ezek a frissítések a postaládájába kerüljenek? Iratkozzon fel itt . "Ha önvezető autókat gyártanak, akkor mi miért ne..

A legrosszabb politika és prediktív modellek májátültetésre jelöltek számára az Egyesült Államokban
A máj (vagy óangolul lifer) az emberi test legnehezebb belső szervére utal, amely csendesen működik a nap 24 órájában. Mit csinál a máj? 500 feladatot hajt végre a szervezet egészségének..

5 webhely, amely 2022-ben fejleszti front-end fejlesztői készségeit
Frontendmentor.io A tényleges projektek létrehozásával a Frontendmentor.io segítséget nyújt a front-end kódolási képességeinek fejlesztésében. A kódolást azután kezdheti meg, hogy..

Mikor kell használni a Type-t az interfészhez képest a TypeScriptben?
A TypeScript a JavaScript gépelt szuperkészlete, amely statikus gépelést ad a nyelvhez. Ez megkönnyíti a robusztus és karbantartható kód írását azáltal, hogy a hibákat a fordítási időben..