我在我的应用程序中使用了 JEXL 库,似乎新的 Android 类收缩器无法处理它。
这是我的依赖:
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选项或将minifyEnabled和useProguard都设置为 false ,它的构建没有任何问题
我知道JEXL 内部使用的javax.script在 Android 上不可用,但我使用的部分工作得很好,所以我在使用这个库时没有任何问题,除此之外。出于这个原因, Lint 也会引发InvalidPackage类型的错误,但它可以很容易地被禁用并且不会损害构建过程。
是否可以让新的收缩器忽略它并像 Lint 那样继续下一步?