android4.0混淆XmlPullParser报错原因分析解决

时间:2022-04-17 00:46:56

复制代码 代码如下:


[2013-05-20 17:30:52 - danielinbiti] Proguard returned with error code 1. See console
[2013-05-20 17:30:52 - danielinbiti] Note: there were 67 duplicate class definitions.
[2013-05-20 17:30:52 - danielinbiti] Warning: library class android.content.res.XmlResourceParser extends or implements program class org.xmlpull.v1.XmlPullParser
[2013-05-20 17:30:52 - danielinbiti] Warning: library class android.content.Intent depends on program class org.xmlpull.v1.XmlPullParser
[2013-05-20 17:30:52 - danielinbiti] Warning: library class android.content.IntentFilter depends on program class org.xmlpull.v1.XmlSerializer
[2013-05-20 17:30:52 - danielinbiti] Warning: library class android.content.IntentFilter depends on program class org.xmlpull.v1.XmlPullParser
[2013-05-20 17:30:52 - danielinbiti] Warning: library class android.content.res.ColorStateList depends on program class org.xmlpull.v1.XmlPullParser
[2013-05-20 17:30:52 - danielinbiti] Warning: library class android.graphics.drawable.BitmapDrawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-05-20 17:30:52 - danielinbiti] Warning: library class android.graphics.drawable.Drawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-05-20 17:30:52 - danielinbiti] Warning: library class android.graphics.drawable.Drawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-05-20 17:30:52 - danielinbiti] Warning: library class android.graphics.drawable.Drawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-05-20 17:30:52 - danielinbiti] Warning: library class android.graphics.drawable.ShapeDrawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-05-20 17:30:52 - danielinbiti] Warning: library class android.graphics.drawable.ShapeDrawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-05-20 17:30:52 - danielinbiti] Warning: library class android.util.Xml depends on program class org.xmlpull.v1.XmlPullParser
[2013-05-20 17:30:52 - danielinbiti] Warning: library class android.util.Xml depends on program class org.xmlpull.v1.XmlSerializer
[2013-05-20 17:30:52 - danielinbiti] Warning: library class android.util.Xml depends on program class org.xmlpull.v1.XmlPullParser
[2013-05-20 17:30:52 - danielinbiti] Warning: library class android.view.LayoutInflater depends on program class org.xmlpull.v1.XmlPullParser
[2013-05-20 17:30:52 - danielinbiti] Warning: library class android.view.LayoutInflater depends on program class org.xmlpull.v1.XmlPullParser
[2013-05-20 17:30:52 - danielinbiti] You should check if you need to specify additional program jars.
[2013-05-20 17:30:52 - danielinbiti] Warning: there were 16 instances of library classes depending on program classes.
[2013-05-20 17:30:52 - danielinbiti] You must avoid such dependencies, since the program classes will
[2013-05-20 17:30:52 - danielinbiti] be processed, while the library classes will remain unchanged.
[2013-05-20 17:30:52 - danielinbiti] java.io.IOException: Please correct the above warnings first.
[2013-05-20 17:30:52 - danielinbiti] at proguard.Initializer.execute(Initializer.java:321)
[2013-05-20 17:30:52 - danielinbiti] at proguard.ProGuard.initialize(ProGuard.java:211)
[2013-05-20 17:30:52 - danielinbiti] at proguard.ProGuard.execute(ProGuard.java:86)
[2013-05-20 17:30:52 - danielinbiti] at proguard.ProGuard.main(ProGuard.java:492)


今天,用android4.0在proguard-project.txt中加入
-libraryjars libs/ksoap2-android-assembly-2.6.0-jar-with-dependencies.jar
这句话后,混淆时报上面的错误。
因为项目中用到axis,所以用到了上面的jar。找了找网上资料,有人说加入-ignorewarnings,但这只是打包了,但其实包是用不了的。
于是根据上面错误,自己把ksoap2-android-assembly-2.6.0-jar-with-dependencies.jar中的
org.xmlpull.v1.XmlPullParser
org.xmlpull.v1.XmlSerializer

两个类去掉,混淆通过且能用。
原因:这两个类与android自带的发生了冲突。