Ich benutze JEXL-Bibliothek in meiner App und es scheint, als ob der neue Android Klasse Shrinker es nicht verarbeiten kann.ClassLookupException: Ungültige Klassenreferenz bei Verwendung von Shroker ohne Progard
Hier ist meine Abhängigkeit:
compile 'org.apache.commons:commons-jexl:2.1.1'
Mein Buildtyp wie folgt definiert ist:
debug {
versionNameSuffix "-dev"
minifyEnabled true
useProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
Und wenn ich versuche, es ich diesen Fehler zu bauen:
What went wrong: Execution failed for task ':app:transformClassesWithNewClassShrinkerForDebug'.
com.android.build.gradle.shrinker.ClassLookupException: Invalid class reference: javax/script/AbstractScriptEngine
Obwohl es ohne Probleme baut, wenn ich benutzeProguard opt Ion oder setzen beide minifyEnabled und useProguard auf false
ich weiß, dass javax.script verwendet von JEXL intern auf Android nicht verfügbar ist, aber die Teile, die ich Arbeit ziemlich gut verwenden, so habe ich keine Probleme mit der Verwendung von diese Bibliothek außer dem. Lint löst auch InvalidPackage Art von Fehler aus diesem Grund, aber es kann leicht deaktiviert werden und nicht den Build-Prozess zu verletzen.
Ist es möglich, den neuen Shrinker zu ignorieren und mit den nächsten Schritten wie Lint fortzufahren?
Ich bin mit dem gleichen Problem mit anderen Bibliothek konfrontiert. Haben Sie einen Workaround gefunden? – JFreeman