Создать обессахаренную библиотеку для B4A
Я делаю Android-библиотеку для B4A framework.
Вот такая ситуация :
- Моя библиотека Android использует функции Java8 (например, Lambda)
- B4A (Basic4Android) использует устаревшую версию
dex
(вместо) сделать приложения несовместимыми с java8 и не удалять сахар сам по себе.
Использование моего файла в B4A приводит к следующей ошибке:
Uncaught translation error: com.android.dx.cf.code.SimException:
invalid opcode ba (invokedynamic requires --min-sdk-version >= 26)
...
Решение официального форума - обессахарить банку библиотеки с помощью инструмента удаления сахара Bazel , но, похоже, это приводит к
Expected a load for ...
это другая ошибка, а не мой вопрос.
Мой вопрос:
можно ли создать обессахаренные
aar
библиотека (совместимая с Java7 и без лямбда) с использованием Android Studio для этих случаев?
я знаю это
d8
выполняет обессахаривание, но на выходе
.dex
файлы, а не
.jar
файл.
Что я пробовал:
Решение, указанное в разделе « Использование Java 8 для Android», не помогло, потому что оно не создает совместимую банку, и ошибка все еще возникает.