Android调用webservice引用第三方jar包ksoap2混淆打包问题处理

时间:2021-06-17 09:12:23

如果你的项目同时还用到了xml解析,相信混淆打包就应该遇到过报错问题,而且是各种问题!尤其是Android 4.2版本,就算混淆通过了,项目在手机上也运行不了。

上网看到很多人都遇到过类似的问题,查了很多资料,看了很多博客,终于把这个问题解决了。

原来是因为ksoap2里面的类和Android本身自带的类重复了,需要把ksoap2里面重复的类去掉,混淆就没问题了。

ksoap2精简版下载   ksoap2完整版下载

但是,混淆之后的app有的手机能用,有的手机却还是报错,因为我们混淆的时候把ksoap2的一些类也混淆掉了,所以找不到类就报错了。

这时候,我们需要在proguard-project.txt(项目混淆文件)文件后面加上下面的代码:

-libraryjars libs/ksoap2-android-assembly-3.2.0-jar-with-dependencies.jar
-dontwarn org.kobjects.**
-keep class org.kobjects.** { *;}
-dontwarn org.ksoap2.**
-keep class org.ksoap2.** { *;}
-dontwarn org.kxml2.**
-keep class org.kxml2.** { *;}
-dontwarn org.xmlpull.v1.**
-keep class org.xmlpull.v1.** { *;}

在project.properties文件最后面加上(指定项目混淆路径):

proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt::proguard-project.txt

 这时候,混淆打包出现的问题就已经解决了!