#android #maven #kotlin #koin #jcenter
Вопрос:
Я работаю над проектом, в котором использовал koin, но у меня были добавлены зависимости от jcenter, а не от maven. Поскольку jcenter будет объявлен устаревшим, я хочу перейти в maven. Поэтому я удалил Jcenter и добавил MavenCentral(). Дело в том, что когда я пытаюсь синхронизировать свой проект, возникает ошибка :
Не удалось разрешить ввод-ввод.вставка-koin:koin-androidx-область действия:2.2.3.
Возможное решение:
- Объявите репозиторий, предоставляющий артефакт, см. документацию по адресу https://docs.gradle.org/current/userguide/declaring_repositories.html
Во-первых, я следовал учебнику insert-koin.ио, но ничего не помогло. Когда я пытаюсь нажать «Выполнить», ошибка, конечно, все равно возникает.
Не удалось выполнить задачу»: домен:Компилятор».
Не удалось разрешить все файлы для конфигурации»: домен:Путь к компилятору». Не удалось разрешить io.insert-koin:koin-androidx-область действия:2.2.3. Требуется: проект :домен > Не найден соответствующий вариант ввода-вывода.insert-koin:koin-androidx-область действия:2.2.3. Потребитель был настроен на поиск API библиотеки, совместимой с Java 11, предпочтительно в виде файлов классов, предпочтительно оптимизированных для стандартных JVM, и ее зависимостей, объявленных извне, а также атрибутов ‘org.jetbrains.kotlin.platform.type» со значением «jvm», но: — Вариант «Возможность публикации выпуска». Ввод-вывод.вставка-коин:коин-androidx-объем:2.2.3 объявляет API из библиотеки, и его зависимостей объявленных внешне: — несовместимы, потому что этот компонент объявляет компонент, с библиотекой элементов ААР и потребителем необходимых компонента, желательно в виде class-файлов — другими совместимыми атрибутами: — ничего не говорит о его целевых среды Java (предпочтительно оптимизирован для стандартных JVM) — ничего не говорит о его целевую версию Java (требуется совместимость с Java 11) — Ничего не говорит о org.реактивные мозги.kotlin.platform.type (требуется «jvm») — Вариант «Время публикации выпуска» возможность ввода-вывода.вставка-koin:koin-androidx-область применения:2.2.3 объявляется во время выполнения библиотеки, и его зависимостей объявленных внешне: — несовместимы, потому что этот компонент объявляет компонент, с библиотекой элементов ААР и потребителем необходимых компонента, желательно в виде class-файлов — другими совместимыми атрибутами: — ничего не говорит о его целевых среды Java (предпочтительно оптимизирован для стандартных JVM) — ничего не говорит о его целевую версию Java (требуется совместимость с Java 11) — ничего не говорит о org.в JetBrains.kotlin.platform.type (требуется «jvm»)
- Попробуйте: Запустите с параметром —stacktrace, чтобы получить трассировку стека. Запустите с параметром —info или —debug, чтобы получить больше выходных данных журнала. Запустите с —scan, чтобы получить полную информацию.
У кого-нибудь есть какие-нибудь идеи, что мне следует делать ?
Ответ №1:
Тем не менее, вы должны иметь возможность использовать jcenter (только для чтения) в файле gradle, если ваши артефакты отсутствуют в других репозиториях.
Ответ №2:
Вам следует проверить раздел в вашем build.gradle. Вам нужен MavenCentral()
// Add Maven Central to your repositories if needed
repositories {
mavenCentral()
}
Ответ №3:
Добавьте MavenCentral (), если его нет в settings.gradle, как показано ниже.
pluginManagement {
repositories {
...
mavenCentral()
}
Если ваш impl похож implementation "org.koin:koin-android:$XX"
, замените его на implementation "io.insert-koin:koin-android:$koin_version"
in app build.gradle.