一、问题1
Android studio打包中遇到了这样的问题:
1 | Warning:Exception while processing task java.io.IOException: The same input jar […….jar] is specified twice. |
解决办法
打开proguard-rules.pro
,
注释掉所有的-libraryjars行,或者直接删除,如:
1 | #-libraryjars xxxx.jar |
原因分析
build.gradle文件配置了
1 | dependencies { |
里面已经添加过jar包,sdk 通过 proguard 混淆代码时默认已经将 lib目录中的 jar 都已经添加到打包脚本中,所以不需要再次手动添加。
二、问题2
1 | Warning:okio.DeflaterSink: can't find referenced class org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement |
解决办法
1 | # okio |
三、问题3
1 | Warning:library class android.content.res.XmlResourceParser extends or implements program class org.xmlpull.v1.XmlPullParser |
解决办法
删除ksoap jar里面的xmlpull相关类:
- 请确认项目中没有使用到【ksoap2-android-assembly-2.6.4-jar-with-dependencies.jar】包里面的xmlpull;
- 若未使用,可直接用zip软件打开jar包,然后删除xmlpull文件夹。
- 重新打包混淆即可正常使用。
原因分析:
项目中引用的【ksoap2-android-assembly-2.6.4-jar-with-dependencies.jar】包,此jar包里面的xmlpull与Android本身自带的类重复了,导致混淆打包报错。