Я работаю над мультиплатформенным проектом Kotlin с отдельными модулями android-ui и Desktop-ui. После обновления до Otter 2025.1.7 я заметил две проблемы:
Мой файл libs.versions.toml перестал разрешать псевдонимы плагинов и ссылки на библиотеки — хотя структура действительна и ранее работала.
Представление Android исчезло из IDE, и я больше не могу переключать версии AGP (например, на 8.13.0) через пользовательский интерфейс.
Я уже пробовал:
Переустановка IDE и удаление всех ссылок Gradle 9
Использование явных объявлений id("...") версии "..." вместо псевдонимов
Очистка кешей .gradle и .idea
Проверка присутствия плагина Management в settings.gradle.kts
Мой TOML включает записи нравится:
[plugins]
ksp = { id = "com.google.devtools.ksp", version = "2.3.0" }
[libraries]
koin-compiler = { module = "io.insert-koin:koin-ksp-compiler", version = "1.3.0" }
И я применяю плагин android-ui/build.gradle.kts с помощью:
plugins {
alias(libs.plugins.ksp)
}
Но libs.koin.compiler и libs.plugins.ksp не удается разрешить, и
add("kspAndroid", libs.koin.compiler)
выдает неразрешенные ошибки ссылок.
Известна ли это проблема с Otter или AGP 8.4.1+? Есть ли способ восстановить или повторно включить разрешение libs.versions.toml в этой настройке? Я пробовал:
Установить оболочку Gradle:
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
Жесткое кодирование плагинов в android-ui/build.gradle.kts:
plugins {
id("com.android.application") version "8.4.1"
kotlin("multiplatform") version "2.1.21"
id("org.jetbrains.kotlin.plugin.compose") version "2.1.21"
id("com.google.devtools.ksp") version "2.3.0"
}
Попытка добавить это в settings.gradle.kts, но она не удалась, поскольку from() можно использовать только один раз:
versionCatalogs {
create("libs") {
from(files("gradle/libs.versions.toml"))
}
}
Принимаются любые идеи, особенно если вы видели такое поведение после обновлений IDE или Gradle.
Приложение:
settings.gradle.kts
enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
pluginManagement {
repositories {
google()
gradlePluginPortal()
mavenCentral()
maven("https://plugins.gradle.org/m2/")
maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
gradlePluginPortal()
mavenLocal()
maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")
maven("https://repo.itextsupport.com/releases")
maven("https://repo.clojars.org/")
maven("https://mvnrepository.com/artifact/app. ... -uuid-core")
}
/*
versionCatalogs {
create("libs") {
from(files("gradle/libs.versions.toml"))
}
}
*/
}
buildCache {
local {
isEnabled = true
}
}
rootProject.name = "sound2text"
include(":android-ui")
include(":core")
include(":desktop-ui")
libs.versions.toml
# Core Toolchains
agp = "8.4.1"
kotlin = "2.1.21"
ksp = "2.3.0"
# Compose
compose-plugin = "1.9.2"
compose-bom = "2025.10.01"
compose-compiler = "1.5.10"
activity-compose = "1.9.3"
# Koin
koin = "3.5.6"
koin-annotations = "1.4.0"
koin-compiler-version = "2.3.0"
[plugins]
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
androidApplication = { id = "com.android.application", version.ref = "agp" }
kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
jetbrainsCompose = { id = "org.jetbrains.compose", version.ref = "compose-plugin" }
[libraries]
compose-bom = { module = "androidx.compose:compose-bom", version.ref = "compose-bom" }
activity-compose = { module = "androidx.activity:activity-compose", version.ref = "activity-compose" }
core-ktx = { module = "androidx.core:core-ktx", version = "1.13.1" }
koin-core = { module = "io.insert-koin:koin-core", version.ref = "koin" }
koin-android = { module = "io.insert-koin:koin-android", version.ref = "koin" }
koin-androidx-compose = { module = "io.insert-koin:koin-androidx-compose", version.ref = "koin" }
koin-annotations = { module = "io.insert-koin:koin-annotations", version.ref = "koin-annotations" }
koin-compiler = { module = "io.insert-koin:koin-ksp-compiler", version.ref = "koin-compiler-version" }
kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version = "1.8.0" }
junit = { module = "junit:junit", version = "4.13.2" }
[bundles]
compose-android = ["compose-bom", "activity-compose"]
koin-android = ["koin-core", "koin-android", "koin-androidx-compose"]
koin-test = ["koin-compiler"]
gradle.properties
# This file was generated by the Gradle 'init' task.
# https://docs.gradle.org/current/usergui ... properties
org.gradle.configuration-cache=false
org.gradle.parallel=true
org.gradle.caching=true
android.useAndroidX=true
org.gradle.jvmargs=-Xmx2g -XX:+UseParallelGC
gradle-wrapper.properties
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
#distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
android-ui/build.gradle.kts
val libs = extensions.getByName("libs") as VersionCatalog
plugins {
id("com.android.application") version "8.4.1"
kotlin("multiplatform") version "2.1.21"
id("org.jetbrains.kotlin.plugin.compose") version "2.1.21"
id("com.google.devtools.ksp") version "2.3.0"
// alias(libs.plugins.ksp)
}
dependencies {
implementation(platform(libs.compose.bom))
// ""(libs.koin.compiler) — unresolved
// add("kspAndroid") — unresolved
// configurations.named("kspAndroid").configure {
// it.dependencies.add(libs.koin.compiler.get())
// }
}
android {
namespace = "com.sildeag.sound2text"
compileSdk = 35
defaultConfig {
applicationId = "com.sildeag.sound2text"
minSdk = 24
targetSdk = 35
versionCode = 1
versionName = "1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
buildFeatures {
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.5.10"
}
}
kotlin {
androidTarget()
sourceSets {
val commonMain by getting {
dependencies {
implementation(libs.kotlinx.coroutines.core)
implementation(libs.koin.core)
}
}
val androidMain by getting {
dependencies {
implementation(libs.bundles.compose.android)
implementation(libs.core.ktx)
implementation(libs.activity.compose)
implementation(libs.bundles.koin.android)
// ksp(libs.koin.compiler)
}
}
val androidTest by getting {
dependencies {
implementation(libs.bundles.koin.test)
implementation(libs.junit)
}
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... ltiplatfor
Каталог версий Gradle (libs.versions.toml) не разрешается в многоплатформенном проекте Kotlin Android после обновления I ⇐ Android
Форум для тех, кто программирует под Android
1762114752
Anonymous
Я работаю над мультиплатформенным проектом Kotlin с отдельными модулями android-ui и Desktop-ui. После обновления до Otter 2025.1.7 я заметил две проблемы:
Мой файл libs.versions.toml перестал разрешать псевдонимы плагинов и ссылки на библиотеки — хотя структура действительна и ранее работала.
Представление Android исчезло из IDE, и я больше не могу переключать версии AGP (например, на 8.13.0) через пользовательский интерфейс.
Я уже пробовал:
Переустановка IDE и удаление всех ссылок Gradle 9
Использование явных объявлений id("...") версии "..." вместо псевдонимов
Очистка кешей .gradle и .idea
Проверка присутствия плагина Management в settings.gradle.kts
Мой TOML включает записи нравится:
[plugins]
ksp = { id = "com.google.devtools.ksp", version = "2.3.0" }
[libraries]
koin-compiler = { module = "io.insert-koin:koin-ksp-compiler", version = "1.3.0" }
И я применяю плагин android-ui/build.gradle.kts с помощью:
plugins {
alias(libs.plugins.ksp)
}
Но libs.koin.compiler и libs.plugins.ksp не удается разрешить, и
add("kspAndroid", libs.koin.compiler)
выдает неразрешенные ошибки ссылок.
Известна ли это проблема с Otter или AGP 8.4.1+? Есть ли способ восстановить или повторно включить разрешение libs.versions.toml в этой настройке? Я пробовал:
Установить оболочку Gradle:
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
Жесткое кодирование плагинов в android-ui/build.gradle.kts:
plugins {
id("com.android.application") version "8.4.1"
kotlin("multiplatform") version "2.1.21"
id("org.jetbrains.kotlin.plugin.compose") version "2.1.21"
id("com.google.devtools.ksp") version "2.3.0"
}
Попытка добавить это в settings.gradle.kts, но она не удалась, поскольку from() можно использовать только один раз:
versionCatalogs {
create("libs") {
from(files("gradle/libs.versions.toml"))
}
}
Принимаются любые идеи, особенно если вы видели такое поведение после обновлений IDE или Gradle.
Приложение:
settings.gradle.kts
enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
pluginManagement {
repositories {
google()
gradlePluginPortal()
mavenCentral()
maven("https://plugins.gradle.org/m2/")
maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
gradlePluginPortal()
mavenLocal()
maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")
maven("https://repo.itextsupport.com/releases")
maven("https://repo.clojars.org/")
maven("https://mvnrepository.com/artifact/app.softwork/kotlinx-uuid-core")
}
/*
versionCatalogs {
create("libs") {
from(files("gradle/libs.versions.toml"))
}
}
*/
}
buildCache {
local {
isEnabled = true
}
}
rootProject.name = "sound2text"
include(":android-ui")
include(":core")
include(":desktop-ui")
libs.versions.toml
# Core Toolchains
agp = "8.4.1"
kotlin = "2.1.21"
ksp = "2.3.0"
# Compose
compose-plugin = "1.9.2"
compose-bom = "2025.10.01"
compose-compiler = "1.5.10"
activity-compose = "1.9.3"
# Koin
koin = "3.5.6"
koin-annotations = "1.4.0"
koin-compiler-version = "2.3.0"
[plugins]
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
androidApplication = { id = "com.android.application", version.ref = "agp" }
kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
jetbrainsCompose = { id = "org.jetbrains.compose", version.ref = "compose-plugin" }
[libraries]
compose-bom = { module = "androidx.compose:compose-bom", version.ref = "compose-bom" }
activity-compose = { module = "androidx.activity:activity-compose", version.ref = "activity-compose" }
core-ktx = { module = "androidx.core:core-ktx", version = "1.13.1" }
koin-core = { module = "io.insert-koin:koin-core", version.ref = "koin" }
koin-android = { module = "io.insert-koin:koin-android", version.ref = "koin" }
koin-androidx-compose = { module = "io.insert-koin:koin-androidx-compose", version.ref = "koin" }
koin-annotations = { module = "io.insert-koin:koin-annotations", version.ref = "koin-annotations" }
koin-compiler = { module = "io.insert-koin:koin-ksp-compiler", version.ref = "koin-compiler-version" }
kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version = "1.8.0" }
junit = { module = "junit:junit", version = "4.13.2" }
[bundles]
compose-android = ["compose-bom", "activity-compose"]
koin-android = ["koin-core", "koin-android", "koin-androidx-compose"]
koin-test = ["koin-compiler"]
gradle.properties
# This file was generated by the Gradle 'init' task.
# https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
org.gradle.configuration-cache=false
org.gradle.parallel=true
org.gradle.caching=true
android.useAndroidX=true
org.gradle.jvmargs=-Xmx2g -XX:+UseParallelGC
gradle-wrapper.properties
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
#distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
android-ui/build.gradle.kts
val libs = extensions.getByName("libs") as VersionCatalog
plugins {
id("com.android.application") version "8.4.1"
kotlin("multiplatform") version "2.1.21"
id("org.jetbrains.kotlin.plugin.compose") version "2.1.21"
id("com.google.devtools.ksp") version "2.3.0"
// alias(libs.plugins.ksp)
}
dependencies {
implementation(platform(libs.compose.bom))
// ""(libs.koin.compiler) — unresolved
// add("kspAndroid") — unresolved
// configurations.named("kspAndroid").configure {
// it.dependencies.add(libs.koin.compiler.get())
// }
}
android {
namespace = "com.sildeag.sound2text"
compileSdk = 35
defaultConfig {
applicationId = "com.sildeag.sound2text"
minSdk = 24
targetSdk = 35
versionCode = 1
versionName = "1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
buildFeatures {
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.5.10"
}
}
kotlin {
androidTarget()
sourceSets {
val commonMain by getting {
dependencies {
implementation(libs.kotlinx.coroutines.core)
implementation(libs.koin.core)
}
}
val androidMain by getting {
dependencies {
implementation(libs.bundles.compose.android)
implementation(libs.core.ktx)
implementation(libs.activity.compose)
implementation(libs.bundles.koin.android)
// ksp(libs.koin.compiler)
}
}
val androidTest by getting {
dependencies {
implementation(libs.bundles.koin.test)
implementation(libs.junit)
}
}
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79807297/gradle-version-catalog-libs-versions-toml-not-resolving-in-kotlin-multiplatfor[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия