Я использую JEXL-библиотеку в своем приложении, и похоже, что новая усадка класса Android не может ее обработать.ClassLookupException: Недопустимая ссылка класса при использовании shrinker без proguard
Вот моя зависимость:
compile 'org.apache.commons:commons-jexl:2.1.1'
Мой тип сборки определяется следующим образом:
debug {
versionNameSuffix "-dev"
minifyEnabled true
useProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
И когда я пытаюсь построить его, я получаю эту ошибку:
What went wrong: Execution failed for task ':app:transformClassesWithNewClassShrinkerForDebug'.
com.android.build.gradle.shrinker.ClassLookupException: Invalid class reference: javax/script/AbstractScriptEngine
Хотя он строит без каких-либо проблем, если я включаю useProguard opt ион или установить как minifyEnabled и useProguard ложной
Я знаю, что javax.script используется JEXL внутренне не доступна на Android, но части, которые я использую, работает очень хорошо, поэтому у меня нет никаких проблем с использованием эта библиотека кроме этого. Lint также вызывает ошибку InvalidPackage, но ее можно легко отключить и не повредить процесс сборки.
Возможно ли, чтобы новая термоусадочная пленка игнорировала его и переходила к следующим шагам, например, Lint?
Я столкнулся с той же проблемой с другой библиотекой. Вам удалось найти обходной путь? – JFreeman