e: Для этой версии (1.3.2) компилятора Compose требуется Kotlin версии 1.7.20, но вы, похоже, используете Kotlin версии 1.9.23, совместимость которой неизвестна.
Ошибка довольно понятна. В других проектах совместимость прошла нормально. По какой-то причине, что бы я ни делал в этом проекте, ошибка сохраняется. Нет ссылки на компилятор Compose версии 1.3.2. Только основное приложение использует Compose. Я попробовал очистить/аннулировать данные с тем же результатом.
Это многомодульный проект. Все сценарии сборки Gradle используют одну и ту же версию Kotlin.
build.gradle (проект)
buildscript {
ext {
kotlin_version = '1.9.23'
compose_version = '1.6.5'
kotlinCompilerExtensionVersion = '1.5.11'
...
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
...
}
}
build.gradle (приложение)
apply plugin: 'kotlin-android'
android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
}
composeOptions {
kotlinCompilerExtensionVersion kotlinCompilerExtensionVersion
}
buildFeatures {
compose true
}
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
// Compose
implementation "androidx.compose.ui:ui:$compose_version"
implementation "androidx.compose.ui:ui-tooling-preview:$compose_version"
debugImplementation "androidx.compose.ui:ui-tooling:$compose_version"
// somewhere on a google doc it noted to NOT include this. Here just in case.
// implementation "androidx.compose.material:material:$compose_version"
}
build.gradle (модуль а)
plugins {
id 'com.android.library'
}
apply plugin: 'kotlin-android'
android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
}
}
dependencies {
implementation 'androidx.core:core-ktx:1.12.0'
}
build.gradle (модуль b)
plugins {
id 'com.android.library'
}
apply plugin: 'kotlin-android'
android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
}
}
dependencies {
implementation 'androidx.core:core-ktx:1.12.0'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
}
@SimonJacobs единственное, что есть в settings.gradle, — это модуль, но я обновлю им исходный пост.
Это сработало для меня, попробуйте заменить эту строку
kotlinCompilerExtensionVersion kotlinCompilerExtensionVersion
с:
kotlinCompilerExtensionVersion rootProject.ext.kotlinCompilerExtensionVersion
Когда я создавал пустой проект с вашими примерами, kotlinCompilerExtensionVersion
ссылался на ComposeOptions#kotlinCompilerExtensionVersion
, который, вероятно, имеет значение по умолчанию 1.3.2
, поэтому он устанавливал одно и то же значение для себя, вместо того, чтобы брать значение из свойств ext
.
Спасибо! Оно действительно ссылалось на себя.
Также есть
settings.gradle
для проверки.