XStream和Proguard

时间:2013-08-19 03:55:46

标签: android xstream

我在我的Android项目中使用xstream-android.jar进行多项任务。但是当我发布它的时候,proguard会进行常规的优化和混淆。由于我正在使用XStream并让他们将XML解析为POJO列表以便轻松使用XML我遇到了XStream无法正常使用proguard的问题。

08-19 03:39:25.440: W/System.err(1522): com.thoughtworks.xstream.converters.ConversionException: HospitalCode : Didn't find class "HospitalCode" on path: /data/app/com.mobilefh.medicalregister-1.apk 08-19 03:39:25.440: W/System.err(1522): ---- Debugging information ---- 08-19 03:39:25.440: W/System.err(1522): message : HospitalCode : Didn't find class "HospitalCode" on path: /data/app/com.mobilefh.medicalregister-1.apk 08-19 03:39:25.440: W/System.err(1522): cause-exception : com.thoughtworks.xstream.mapper.CannotResolveClassException 08-19 03:39:25.440: W/System.err(1522): cause-message : HospitalCode : Didn't find class "HospitalCode" on path: /data/app/com.mobilefh.medicalregister-1.apk 08-19 03:39:25.440: W/System.err(1522): class : java.util.List 08-19 03:39:25.440: W/System.err(1522): required-type : com.mobilefh.medicalregister.b.b.f 08-19 03:39:25.440: W/System.err(1522): path : /list/Hospital/HospitalCode 08-19 03:39:25.440: W/System.err(1522): -------------------------------

我正在尝试使用proguard选项,不要让xstream像:

-libraryjars libs / xstream-android.jar
-keep class com.thoughtworks.xstream。* {;}

如果有人建议如何解决这个问题,我将非常感激。让XStream与proguard一起工作。

提前致谢

wikistar

2 个答案:

答案 0 :(得分:1)

这就是我处理XStream 1.4.7和Proguard的方法。在proguard-project.txt文件中添加以下两行:

-keep class com.thoughtworks.** { *; }
-dontwarn com.thoughtworks.**

答案 1 :(得分:0)

您是否可以首先尝试检查您的apk文件并仔细检查类HospitalCode是否真的存在?

然后我认为最可能的答案是您没有在APK的发布版本中包含整个JAR文件。