混淆时报错,是org.xmlpull.v1与android.jar中重复了。大家的做法是将ksoap2-android-assembly-3.4.0.jar中的xmlpull.v1删掉,这样做虽然狠了点,但不会影响程序的功能。
做法是:
1.将ksoap2-android-assembly-3.4.0.jar解压,进入ksoap2-android-assembly-3.4.0中看到如下两个目录:
$ ls
META-INF org
2.将org/xmlpull/ 删掉
$ rm -rf org/xmlpull/
3.将刚刚的两个目录还原成jar,只要将这两个目录压缩就可以。我这边是Ubuntu自带的图形工具压缩,有jar的选项。如果你那边没有,只要压缩成zip然后改名成jar就可以。
尝试过在progard-rules.pro中添加以下代码:
-keep class org.kobjects.** { *; }
-keep class org.ksoap2.** { *; }
-keep class org.kxml2.** { *; }
-keep class org.xmlpull.** { *; }
其实这不是必须的。

本文介绍了解决Android开发中遇到的混淆时报错问题,通过删除ksoap2-android-assembly-3.4.0.jar中的重复库org.xmlpull.v1,避免与android.jar冲突的方法。操作步骤包括解压、删除目录、重新压缩为jar文件,并讨论了排除类的progard-rules.pro配置,确保程序功能不受影响。
8984

被折叠的 条评论
为什么被折叠?



