После обширных поисков в Google и поиске, я не смог найти решение своей проблемы.
Проблема:
В моем проекте в настоящее время включена функция Databinding v2, а в моем XML у меня есть 2-сторонняя привязка данных для свойств модели представления.
Android Studio (v3.5.3) может нормально скомпилировать проект и не имеет ошибок
Использование инструмента командной строки ./gradlew assemble<Release_type>
приведет к
javax/xml/bind/JAXBException
Решение:
В Google и SO было несколько подсказок относительно изменений, сделанных с Java8 -> Java11 в отношении этой библиотеки. Я не совсем уверен, что это было за изменение, но Java11 не включает в себя библиотеку, необходимую для компиляции приложения. После дальнейшей проверки я понял, что я использую OpenJDK 11, а не OpenJDK 8. Согласно различным источникам, решением этой проблемы было установить OpenJDK 8
.
Шаги к успеху:
- Удаление OpenJDK 11 или выше
- Выполните следующую команду
brew tap AdoptOpenJDK/openjdk
brew cask install adoptopenjdk8
- сейчас запуск
./gradlew assemble<release_type>
должен работать как положено.
Что это решает
- fastlane, не способный построить
- gradlew не может построить
Заключение
Дальнейший поиск в Google привел меня к нескольким статьям, связанным с OpenJDK 11. Очевидно, Android Studio пока не поддерживает OpenJDK 11, но Android Studio 4.x будет. - ссылка на сообщение SO
Я знаю, что это не "реальный" вопрос, но я оставляю его здесь в надежде, что кто-то еще, очень расстроенный (как я), найдет это потенциальное решение полезным и надеюсь, Google индексирует эту статью :)