Sourceececepocatibibility и TargetCompatibility Java 11 в приложениях Flutter для поддержки до Android 7 (API 24)Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Sourceececepocatibibility и TargetCompatibility Java 11 в приложениях Flutter для поддержки до Android 7 (API 24)

Сообщение Anonymous »

Это то, что выглядит мой файл Android/App/build.gradle.kts (только часть показана):

Код: Выделить всё

android {
... ...
... ...
    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_11
        targetCompatibility = JavaVersion.VERSION_11
    }
... ...
... ...
}
В проекте используются значения по умолчанию для других важных параметров конфигурации, которые определяются файлом /packages/flutter_tools/gradle/src/main/kotlin/flutterextension.kt :

Код: Выделить всё

open class FlutterExtension {
val compileSdkVersion: Int = 36
val minSdkVersion: Int = 24
val targetSdkVersion: Int = 36
val ndkVersion: String = "27.0.12077973"
... ...
... ...
... ...
}
< /code>
Версия AGP: "8.9.1" < /code> < /p>

Используйте эту таблицу, чтобы определить, какая версия Java поддерживается каждым Api Api Android и где можно найти подробности, на которых Java Apis доступна. строится) < /p>
Android        Java
14 (API 34)    17
13 (API 33)    11
12 (API 32)    11
Обновление:
Мой вопрос ранее (теперь измененный на это, следует за этим):
Я пытаюсь понять, какая Sourceeckatibality и TargetCompatibility варианты должны быть способны правильно настроить их для моих проектов. Как вы можете увидеть мой проект Targets API 36 , но используемая версия Java - это версия_11 . Итак, я полагаю, что эта таблица, приведенная в официальной документации, показывает максимально поддерживаемую Java версию ! Пожалуйста, поправьте меня, если я ошибаюсь. Я читал где -то, что Source и Target Compatibility Java также определяет время выполнения Android (ART). Как выбрать эти версии для (1) масштабируемости, (2) последних функций? />

Код: Выделить всё

 Android           Java
14 (API 34)       17
13 (API 33)       11
11,12 (API 31,32) 11
7 (API 24,25)     8
2-6 (AIP 9-23)      6
Поскольку мой minsdkversion - 24 Я бы склонен думать, что Java версия 8 подходит для моего проекта, чтобы поддержать максимально возможную версию Android. Однако, когда я изменил SourceeCectabitibility и TargetCompatibility на версию_1_8 (Java версия 8), я начал получать следующие предупреждения:

Код: Выделить всё

warning: [options] source value 8 is obsolete and will be removed in a future release
warning: [options] target value 8 is obsolete and will be removed in a future release
В настоящее время API 24, по -видимому, является рекомендуемым minsdk (как это по умолчанию с Flutter 3.35.x), и поэтому я не хочу устанавливать свой minsdk на 32 и использовать Java 11.
Как мне поддерживать Down Down Android 7 (API 24) с Java 11? /> Примечания: < /h4>

Google, кажется, удалил поддержку эмуляторов API 24. Хотя я все еще мог установить эмулятор, я не мог установить пакет, который был построен с помощью поддержки MinSDK = 24. Удивительно! Аналогичным образом, эмуляторы до API 30 (Android 11) не поддерживались, когда я проверил их на 02 сентября 2025 г. Использование устройств предполагает, если Android 12, это то, что мы выпускаем версию MINSDK, мы будем терять множество устройств:


Подробнее здесь: https://stackoverflow.com/questions/797 ... -for-suppo
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»