Не удалось выполнить задачу «:package_info_plus:compileReleaseJavaWithJavac». Происходит только при сборке Bitrise

Я нашел много вопросов, связанных с этой проблемой. Разница здесь в том, что эта ошибка возникает только при сборке Bitrise.

Я могу собрать локальный режим выпуска и разработки, и сборка работает, поэтому я думаю, может быть, это связано с конфигурацией bitrise.

Полная ошибка

Execution failed for task ':package_info_plus:compileReleaseJavaWithJavac'.
> error: invalid source release: 17

(Я не использую этот package_info_plus напрямую, это должна быть зависимость в одной из библиотек)

Что я пробовал

compileOptions {
    sourceCompatibility = JavaVersion.VERSION_1_8
    targetCompatibility = JavaVersion.VERSION_1_8
}

kotlinOptions {
    jvmTarget = '1.8'
}

собирается локально, не собирается на битрисе

compileOptions {
    sourceCompatibility = JavaVersion.VERSION_17
    targetCompatibility = JavaVersion.VERSION_17
}

kotlinOptions {
    jvmTarget = '17'
}

на битрисе не собирается, локально не пробовал

Моя версия флаттера стабильна 3.22.2, Windows для локальной машины и MacOS для Bitrise.

Обновлено: мне кажется, что ни одно из этих изменений в моем build.gradle не будет иметь никакого эффекта, если проблема находится в package_info_plus. Единственная библиотека, которую я использую и использующая этот пакет, — это Sentry. Поэтому я попытался понизить версию Sentry до предыдущей версии, но проблема все еще возникла.

Любая помощь приветствуется.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
96
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Такое поведение происходит из-за конфигурации Android package_info_plus. Для целей Kotlin и Java установлено значение 17. Этот параметр означает, что компилятор будет создавать файлы, подходящие для версии 17 JDK. Разумеется, JDK 11 (в случае дефолта на битрисе) ничего не знает о JDK 17.

К сожалению, только с помощью конфигурации class мало что можно сделать, поскольку эти настройки не переопределяют друг друга.

Теперь Битрисе часть вопроса. Согласно документации, версия JDK по умолчанию в сборщиках битрисов — build.gradle. Хорошая новость: можно установить JDK на 17. Вот что вам нужно сделать:

В вашем 11 вам необходимо добавить эти настройки перед любыми шагами, связанными с Android:

primary:
  steps:
  - set-java-version@1:
      inputs:
      - set_java_version: '17'

Надеюсь, это поможет решить вашу проблему

Другие вопросы по теме