Я до сих пор поднимался и опускал различные проблемы с защитой, и до сих пор им не повезло. После proguarding моего приложения, когда я пытаюсь запустить класс POJO через XStream, следующий сбой происходит:Проблемы с Proguard и XStream Аннотации
09-09 23:01:51.188: E/AndroidRuntime(18692): java.lang.annotation.IncompleteAnnotationException: The element value is not complete for the annotation com.thoughtworks.xstream.annotations.XStreamConverter
09-09 23:01:51.188: E/AndroidRuntime(18692): at libcore.reflect.AnnotationFactory.invoke(AnnotationFactory.java:301)
09-09 23:01:51.188: E/AndroidRuntime(18692): at java.lang.reflect.Proxy.invoke(Proxy.java:379)
09-09 23:01:51.188: E/AndroidRuntime(18692): at $Proxy2.value(Unknown Source)
09-09 23:01:51.188: E/AndroidRuntime(18692): at com.thoughtworks.xstream.mapper.AnnotationMapper.cacheConverter(SourceFile:515)
09-09 23:01:51.188: E/AndroidRuntime(18692): at com.thoughtworks.xstream.mapper.AnnotationMapper.processLocalConverterAnnotation(SourceFile:472)
09-09 23:01:51.188: E/AndroidRuntime(18692): at com.thoughtworks.xstream.mapper.AnnotationMapper.processTypes(SourceFile:222)
09-09 23:01:51.188: E/AndroidRuntime(18692): at com.thoughtworks.xstream.mapper.AnnotationMapper.processAnnotations(SourceFile:164)
09-09 23:01:51.188: E/AndroidRuntime(18692): at com.thoughtworks.xstream.XStream.processAnnotations(SourceFile:1971)
09-09 23:01:51.188: E/AndroidRuntime(18692): at com.thoughtworks.xstream.XStream.processAnnotations(SourceFile:1982)
Посмотрев на различных другие SO сообщениях для этого, а также документации Proguard, я следующее мой ProGuard конфигурационный файл:
-keepattributes SourceFile, LineNumberTable, *Annotation*, Signature, EnclosingMethod, InnerClasses
-dontwarn com.thoughtworks.**
# For serializable classes
-keepnames class * extends java.io.Serializable
# For serializable classes
-keepclassmembers class * extends java.io.Serializable {
static final long serialVersionUID;
private static final java.io.ObjectStreamField[] serialPersistentFields;
!static !transient <fields>;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
java.lang.Object writeReplace();
java.lang.Object readResolve();
}
# Keep everything in the XStream Package
-keep class com.thoughtworks.** {
*;
}
# Keep my XStreamExporter class
-keep class com.mypackage_name.data.exporters.XStreamExporter {
*;
}
сериализации держит мой класс POJO нетронутыми, как подтверждено seeds.txt выходом. Я пробовал все, что мог придумать/найти по этой проблеме. Что я упустил?