kotlin-stdlib-jre7 устарела. Пожалуйста, используйте вместо этого kotlin-stdlib-jdk7 - PullRequest
0 голосов
/ 15 мая 2018

Вчера я обновил версию Android Studio и версию плагина Kotlin.

Версия Android Studio: 3.1.2

Kotlin Версия: 1.2.41

Когда я создаю проект Android с использованием этой конфигурации, я получаю предупреждение Kotlin Compiler, говорящее

w: /home/ganeshtikone/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jre7/1.2.41/9e7a6f582de73d9cdc6c56ef4e23604a0ee55768/libjj7 .jar: kotlin-stdlib-jre7 устарела. Пожалуйста, используйте вместо этого kotlin-stdlib-jdk7

Изменено согласно предложению, затем я получаю следующую ошибку

Неожиданные входные данные: ImmutableJarInput {name = org.jetbrains.kotlin: kotlin-stdlib-jre7: 1.2.41, file = / home / ganeshtikone / Workspace / May-2018 / fhs / app / build / middleates / transforms / desugar /stage/debug/45.jar, contentTypes = CLASSES, scopes = EXTERNAL_LIBRARIES, status = REMOVED}

Ответы [ 5 ]

0 голосов
/ 27 ноября 2018

Вы должны поменять местами коды ниже:

     implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"

Не JRE> JDK

     implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
0 голосов
/ 01 октября 2018

Важное обновление

Перед установкой конфигурации необходимо проверить версию JDK

Страница конфигурации Kotlin gradle содержит подробную информацию об этом.

Прежде всего, проверьте вашу версию kotlin в файле Gradle.

if (kotlin_version == '1.2.x') (Используйте jdk NOT jre)

Сначала проверьте свою версию JDK в Файл> Структура проекта .

sc

Или отметьте build.gradle

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

if (jdk_version == 1.8)

implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"

if (jdk_version == 1.7)

implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

if (jdk_version <1.7) </strong>

implementation"org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"

иначе, если (в структуре проекта не установлена ​​версия jdk)

if(Android_Studio_Version < 2.2.1){
   your_jdk_version = 1.7;
}
else {
   your_jdk_version = 1.8;
}

Поскольку Android Studio поставляется с jdk 1.8 начиная с версии 2.2.1 .

2.иначе если (kotlin_version == '1.1.x') (Использовать jre NOT jdk)

implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" // or jre8

Обновить версию Kotlin?

Вы можете обновить версию Kotlin из Инструменты> Kotlin> Настроить KotlinОбновления

0 голосов
/ 21 мая 2018

Перейдите к Инструменты> Kotlin> Настройка обновлений плагина Kotlin и проверьте наличие обновлений, затем в файле приложения вашего приложения замените jre на jdk

implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
0 голосов
/ 29 мая 2018

Что-то транзитивно импортирует эти библиотеки. Запустите задачу Gradle dependencies, чтобы выяснить, что.

В моем случае это было io.vertx:vertx-lang-kotlin-coroutines:3.5.1.

Если для зависимости нет обновления, вы ничего не можете с этим поделать

0 голосов
/ 15 мая 2018

После прочтения Kotlin Gradle Script Тема Я обнаружил, что некоторые ponits

Если вы ориентируетесь на JDK 7 или JDK 8, вы можете использовать расширенные версии стандарта Kotlinбиблиотека, которая содержит дополнительные функции расширения для API, добавленных в новых версиях JDK.Вместо kotlin-stdlib используйте одну из следующих зависимостей:

compile "org.jetbrains.kotlin: kotlin-stdlib-jdk7"
compile "org.jetbrains.kotlin: kotlin-stdlib-jdk8"

Я использовал реализацию "org.jetbrains.kotlin: kotlin-stdlib-jdk8" в моем проекте.Я думаю, что это из-за compileOptions, установленных в build.graddle

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...