Проблемы с использованием библиотеки jackson-json при использовании Proguard
Я использую библиотеку jackson-json в проекте Android, а при экспорте приложения при использовании Proguard для обфускации я получаю следующие ошибки:
Proguard returned with error code 1. See console
Warning: com.fasterxml.jackson.databind.ext.DOMSerializer: can't find referenced class org.w3c.dom.bootstrap.DOMImplementationRegistry
Warning: com.fasterxml.jackson.databind.ext.DOMSerializer: can't find referenced class org.w3c.dom.bootstrap.DOMImplementationRegistry
Warning: com.fasterxml.jackson.databind.ext.DOMSerializer: can't find referenced class org.w3c.dom.bootstrap.DOMImplementationRegistry
Warning: com.fasterxml.jackson.databind.ext.DOMSerializer: can't find referenced class org.w3c.dom.bootstrap.DOMImplementationRegistry
Warning: com.fasterxml.jackson.databind.ext.DOMSerializer: can't find referenced class org.w3c.dom.bootstrap.DOMImplementationRegistry
You should check if you need to specify additional program jars.
Warning: there were 5 unresolved references to classes or interfaces.
You may need to specify additional library jars (using '-libraryjars').
java.io.IOException: Please correct the above warnings first.
at proguard.Initializer.execute(Initializer.java:321)
at proguard.ProGuard.initialize(ProGuard.java:211)
at proguard.ProGuard.execute(ProGuard.java:86)
at proguard.ProGuard.main(ProGuard.java:492)
Я попытался сыграть с настройками проекта, добавить "-libraryjars", чтобы включить другие банки, и многое другое, но ничего не помогло.
Ответы
Ответ 1
ok, я добавил следующие вещи, которые я собрал на нескольких веб-сайтах:
-libraryjars libs/jackson-annotations-2.0.0.jar
-libraryjars libs/jackson-core-2.0.0.jar
-dontskipnonpubliclibraryclassmembers
-keepattributes *Annotation*,EnclosingMethod
-keepnames class org.codehaus.jackson.** { *; }
-dontwarn javax.xml.**
-dontwarn javax.xml.stream.events.**
-dontwarn com.fasterxml.jackson.databind.**
вместе со следующим кодом для каждого класса, который используется для json (с get & set), я думаю, что apk создается, но я не уверен, что того, что я написал, достаточно, чтобы заставить его работать хорошо, а также если некоторые из написанных мной не нужны:
-keep public class MyClass.** {
public void set*(***);
public *** get*();
}