Какая версия Android поддерживает jvmTarget 1.8? - PullRequest
1 голос
/ 09 мая 2019

Чтобы исправить проблему совместимости в моем приложении для Android, я только что изменил в моем build.gradle файле целевую версию JVM и kotlin-stdlib-jdk с 7 на 8

android {
    ......
    kotlinOptions {
        jvmTarget = '1.8'
    }
}

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

СейчасМой проект скомпилирован в JVM 8, и я задаю себе вопрос о том, какой минимальный Android Api поддерживает эта JVM 8.Я полагаю, что после этого изменения некоторые старые устройства не могут выполнять мое приложение.

Мой минимальный Android API - 21. Я запустил свое приложение на эмуляторе, и, похоже, все в порядке.

Может кто-нибудь сказать мне, если все устройства этой версии поддерживают JVM 8 или этим простым изменением я могу преподнести много сюрпризов позже.

1 Ответ

1 голос
/ 09 мая 2019

Начиная с Android API 19, он может поддерживать JVM 8, но не полностью (для SDK 19).
На вашем ПК должна быть установлена ​​Android Studio 3+ и JDK 8 для его компиляции.
Ваше устройство Android не имеет ничего общего с версиями Java, оно будет поддерживать то, что поддерживает его API Android.
НО вы должны быть осторожны, Android API не поддерживает все, что поддерживает JDK 8, даже для некоторых полу-современных API, таких как 25!
Например: некоторые дополнения и хэши шифров поддерживаются в JDK 8, но не в Android API 25.

ТАК, в вашем случае вы должны проверить, что Android API 21 поддерживает не JDK 8 или даже 7.

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