Android Room не компилируется в Compose ⇐ Android
-
Гость
Android Room не компилируется в Compose
Недавно я создал приложение Compose в Android Studio Flamingo и добавил зависимости комнаты.
При компиляции я получаю следующую ошибку:
gradle assembleDebug --no-daemon
Чтобы сохранить настройки JVM для этой сборки, будет создан одноразовый процесс Daemon. Подробнее об этом см. https://docs.gradle.org/8.3/userguide/g ... the_daemon в документации Gradle. Демон будет остановлен в конце сборки > Задача :app:kaptGenerateStubsDebugKotlin НЕ удалась ОШИБКА: сборка не удалась с исключением. * Что пошло не так: Не удалось выполнить задачу «:app:kaptGenerateStubsDebugKotlin». > Ошибка при оценке свойства compilerOptions.jvmTarget задачи «:app:kaptGenerateStubsDebugKotlin». > Не удалось вычислить значение свойства jvmTarget. > Неизвестная цель Kotlin JVM: 20 * Пытаться: > Запустите опцию --stacktrace, чтобы получить трассировку стека. > Запустите с параметром --info или --debug, чтобы получить больше результатов журнала. > Запустите --scan, чтобы получить полную информацию. > Получите дополнительную помощь на https://help.gradle.org. ПОСТРОЙКА НЕ удалась через 36 секунд 13 практических задач: 1 выполнено, 12 актуальны. Затем, прочитав множество сообщений, я побежал:
gradle assembleDebug --no-daemon --stacktrace
--- очень длинный вывод --- Вызвано: java.lang.IllegalArgumentException: неизвестная цель JVM Kotlin: 20 в org.jetbrains.kotlin.gradle.dsl.JvmTarget$Companion.fromTarget(JvmTarget.kt:26) в org.jetbrains.kotlin.gradle.tasks.DefaultKotlinJavaToolchain$wireJvmTargetToToolchain$1$1.invoke(DefaultKotlinJavaToolchain.kt:78) в org.jetbrains.kotlin.gradle.tasks.DefaultKotlinJavaToolchain$wireJvmTargetToToolchain$1$1.invoke(DefaultKotlinJavaToolchain.kt:70) в org.jetbrains.kotlin.gradle.tasks.DefaultKotlinJavaToolchain$sam$org_gradle_api_Transformer$0.transform(DefaultKotlinJavaToolchain.kt) в org.gradle.api.internal.provider.ValueSupplier$Present.transform(ValueSupplier.java:541) в org.gradle.api.internal.provider.TransformBackedProvider.mapValue(TransformBackedProvider.java:91) в org.gradle.api.internal.provider.TransformBackedProvider.calculateOwnValue(TransformBackedProvider.java:83) в org.gradle.api.internal.provider.AbstractMinimalProvider.calculateValue(AbstractMinimalProvider.java:108) в org.gradle.api.internal.provider.TransformBackedProvider.calculateOwnValue(TransformBackedProvider.java:82) в org.gradle.api.internal.provider.AbstractMinimalProvider.calculateValue(AbstractMinimalProvider.java:108) в org.gradle.api.internal.provider.AbstractMinimalProvider.withFinalValue(AbstractMinimalProvider.java:164) в org.gradle.api.internal.provider.DefaultProperty.finalValue(DefaultProperty.java:133) в org.gradle.api.internal.provider.DefaultProperty.finalValue(DefaultProperty.java:26) в org.gradle.api.internal.provider.AbstractProperty.finalizeNow(AbstractProperty.java:245) ... еще 110 И сейчас я понятия не имею, как это решить.
Что я сделал:
[*]перекрестная проверка операторов SQL @Query (без проблем) [*]Проверено, все ли аннотации сделаны правильно. [*]Измените настройки AS для использования jvm 20 и kotlin 1.9.0
Это мой файл app/build.gradle.kts:
плагины { идентификатор("com.android.application") id("org.jetbrains.kotlin.android") id("котлин-капт") } андроид { пространство имен = "" компилироватьSdk = 33 defaultConfig { applicationId = "" минСдк = 26 цельСдк = 33 Код версии = 1 имя_версии = "1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" векторDrawables { useSupportLibrary = правда } } типы сборки { выпускать { isMinifyEnabled = ложь proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } компиляцияварианты { sourceCompatibility = JavaVersion.VERSION_1_8 // Пробовала VERSION_20, но изменений нет targetCompatibility = JavaVersion.VERSION_1_8 // " " " " } котлинОпции { jvmTarget = "1.8" // Пробовал 20, но здесь показан неизвестный jvmTarget } buildFeatures { составить = правда } composeOptions { kotlinCompilerExtensionVersion = "1.4.3" } упаковка { Ресурсы { исключает += "/META-INF/{AL2.0,LGPL2.1}" } } } зависимости { вал навигация_версия = "2.6.0" val room_version = "2.5.2" реализация("androidx.core:core-ktx:1.9.0") реализация("androidx.lifecycle:lifecycle-runtime-ktx:2.6.1") реализация("androidx.activity:activity-compose:1.7.2") реализация(платформа("androidx.compose:compose-bom:2023.03.00")) реализация("androidx.compose.ui:ui") реализация("androidx.compose.ui:ui-graphics") реализация("androidx.compose.ui:ui-tooling-preview") реализация("androidx.compose.material3:material3") реализация("androidx.navigation:navigation-compose:$navigation_version") реализация("androidx.compose.material:material-icons-extended:1.4.0") реализация("androidx.room:room-ktx:$room_version") kapt("androidx.room:room-compiler:$room_version") testImplementation("junit:junit:4.13.2") androidTestImplementation("androidx.test.ext:junit:1.1.5") androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") androidTestImplementation(platform("androidx.compose:compose-bom:2023.03.00")) androidTestImplementation("androidx.compose.ui:ui-test-junit4") debugImplementation("androidx.compose.ui:ui-tooling") debugImplementation("androidx.compose.ui:ui-test-manifest") } И мой корневой файл /build.gradle.kts:
// Файл сборки верхнего уровня, куда вы можете добавить параметры конфигурации, общие для всех подпроектов/модулей. плагины { id("com.android.application") версии "8.1.1" применить false id("org.jetbrains.kotlin.android") версии "1.8.10" применить false } КАК ЭТО РЕШИТЬ???
Недавно я создал приложение Compose в Android Studio Flamingo и добавил зависимости комнаты.
При компиляции я получаю следующую ошибку:
gradle assembleDebug --no-daemon
Чтобы сохранить настройки JVM для этой сборки, будет создан одноразовый процесс Daemon. Подробнее об этом см. https://docs.gradle.org/8.3/userguide/g ... the_daemon в документации Gradle. Демон будет остановлен в конце сборки > Задача :app:kaptGenerateStubsDebugKotlin НЕ удалась ОШИБКА: сборка не удалась с исключением. * Что пошло не так: Не удалось выполнить задачу «:app:kaptGenerateStubsDebugKotlin». > Ошибка при оценке свойства compilerOptions.jvmTarget задачи «:app:kaptGenerateStubsDebugKotlin». > Не удалось вычислить значение свойства jvmTarget. > Неизвестная цель Kotlin JVM: 20 * Пытаться: > Запустите опцию --stacktrace, чтобы получить трассировку стека. > Запустите с параметром --info или --debug, чтобы получить больше результатов журнала. > Запустите --scan, чтобы получить полную информацию. > Получите дополнительную помощь на https://help.gradle.org. ПОСТРОЙКА НЕ удалась через 36 секунд 13 практических задач: 1 выполнено, 12 актуальны. Затем, прочитав множество сообщений, я побежал:
gradle assembleDebug --no-daemon --stacktrace
--- очень длинный вывод --- Вызвано: java.lang.IllegalArgumentException: неизвестная цель JVM Kotlin: 20 в org.jetbrains.kotlin.gradle.dsl.JvmTarget$Companion.fromTarget(JvmTarget.kt:26) в org.jetbrains.kotlin.gradle.tasks.DefaultKotlinJavaToolchain$wireJvmTargetToToolchain$1$1.invoke(DefaultKotlinJavaToolchain.kt:78) в org.jetbrains.kotlin.gradle.tasks.DefaultKotlinJavaToolchain$wireJvmTargetToToolchain$1$1.invoke(DefaultKotlinJavaToolchain.kt:70) в org.jetbrains.kotlin.gradle.tasks.DefaultKotlinJavaToolchain$sam$org_gradle_api_Transformer$0.transform(DefaultKotlinJavaToolchain.kt) в org.gradle.api.internal.provider.ValueSupplier$Present.transform(ValueSupplier.java:541) в org.gradle.api.internal.provider.TransformBackedProvider.mapValue(TransformBackedProvider.java:91) в org.gradle.api.internal.provider.TransformBackedProvider.calculateOwnValue(TransformBackedProvider.java:83) в org.gradle.api.internal.provider.AbstractMinimalProvider.calculateValue(AbstractMinimalProvider.java:108) в org.gradle.api.internal.provider.TransformBackedProvider.calculateOwnValue(TransformBackedProvider.java:82) в org.gradle.api.internal.provider.AbstractMinimalProvider.calculateValue(AbstractMinimalProvider.java:108) в org.gradle.api.internal.provider.AbstractMinimalProvider.withFinalValue(AbstractMinimalProvider.java:164) в org.gradle.api.internal.provider.DefaultProperty.finalValue(DefaultProperty.java:133) в org.gradle.api.internal.provider.DefaultProperty.finalValue(DefaultProperty.java:26) в org.gradle.api.internal.provider.AbstractProperty.finalizeNow(AbstractProperty.java:245) ... еще 110 И сейчас я понятия не имею, как это решить.
Что я сделал:
[*]перекрестная проверка операторов SQL @Query (без проблем) [*]Проверено, все ли аннотации сделаны правильно. [*]Измените настройки AS для использования jvm 20 и kotlin 1.9.0
Это мой файл app/build.gradle.kts:
плагины { идентификатор("com.android.application") id("org.jetbrains.kotlin.android") id("котлин-капт") } андроид { пространство имен = "" компилироватьSdk = 33 defaultConfig { applicationId = "" минСдк = 26 цельСдк = 33 Код версии = 1 имя_версии = "1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" векторDrawables { useSupportLibrary = правда } } типы сборки { выпускать { isMinifyEnabled = ложь proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } компиляцияварианты { sourceCompatibility = JavaVersion.VERSION_1_8 // Пробовала VERSION_20, но изменений нет targetCompatibility = JavaVersion.VERSION_1_8 // " " " " } котлинОпции { jvmTarget = "1.8" // Пробовал 20, но здесь показан неизвестный jvmTarget } buildFeatures { составить = правда } composeOptions { kotlinCompilerExtensionVersion = "1.4.3" } упаковка { Ресурсы { исключает += "/META-INF/{AL2.0,LGPL2.1}" } } } зависимости { вал навигация_версия = "2.6.0" val room_version = "2.5.2" реализация("androidx.core:core-ktx:1.9.0") реализация("androidx.lifecycle:lifecycle-runtime-ktx:2.6.1") реализация("androidx.activity:activity-compose:1.7.2") реализация(платформа("androidx.compose:compose-bom:2023.03.00")) реализация("androidx.compose.ui:ui") реализация("androidx.compose.ui:ui-graphics") реализация("androidx.compose.ui:ui-tooling-preview") реализация("androidx.compose.material3:material3") реализация("androidx.navigation:navigation-compose:$navigation_version") реализация("androidx.compose.material:material-icons-extended:1.4.0") реализация("androidx.room:room-ktx:$room_version") kapt("androidx.room:room-compiler:$room_version") testImplementation("junit:junit:4.13.2") androidTestImplementation("androidx.test.ext:junit:1.1.5") androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") androidTestImplementation(platform("androidx.compose:compose-bom:2023.03.00")) androidTestImplementation("androidx.compose.ui:ui-test-junit4") debugImplementation("androidx.compose.ui:ui-tooling") debugImplementation("androidx.compose.ui:ui-test-manifest") } И мой корневой файл /build.gradle.kts:
// Файл сборки верхнего уровня, куда вы можете добавить параметры конфигурации, общие для всех подпроектов/модулей. плагины { id("com.android.application") версии "8.1.1" применить false id("org.jetbrains.kotlin.android") версии "1.8.10" применить false } КАК ЭТО РЕШИТЬ???
Мобильная версия