第一种问题:
Proguard returned with error code 1. See console
ProguardError 1Output:
Note: there were 678 duplicate classdefinitions.
Warning: library class android.content.res.XmlResourceParserextends or implements program classorg.xmlpull.v1.XmlPullParser
Warning: library class android.content.Intent depends on programclassorg.xmlpull.v1.XmlPullParser
Warning: library class android.content.IntentFilter depends onprogram classorg.xmlpull.v1.XmlPullParser
Warning: library class android.content.res.ColorStateList dependson program classorg.xmlpull.v1.XmlPullParser
Warning: library class android.graphics.drawable.BitmapDrawabledepends on program classorg.xmlpull.v1.XmlPullParser
Warning: library class android.graphics.drawable.ColorDrawabledepends on program classorg.xmlpull.v1.XmlPullParser
Warning: library class android.graphics.drawable.Drawable dependson program classorg.xmlpull.v1.XmlPullParser
Warning: library class android.graphics.drawable.Drawable dependson program classorg.xmlpull.v1.XmlPullParser
Warning: library class android.graphics.drawable.Drawable dependson program classorg.xmlpull.v1.XmlPullParser
Warning: library class android.util.Xml depends on program classorg.xmlpull.v1.XmlPullParser
Warning: library class android.util.Xml depends on program classorg.xmlpull.v1.XmlPullParser
Warning: library class android.view.LayoutInflater depends onprogram classorg.xmlpull.v1.XmlPullParser
Warning: library class android.view.LayoutInflater depends onprogram classorg.xmlpull.v1.XmlPullParser
Warning: there were 13 instances of library classes depending onprogramclasses.
You must avoid suchdependencies, since the program classeswill
be processed, while thelibrary classes will remainunchanged.
java.io.IOException: Please correct the above warningsfirst.
atproguard.Initializer.execute(Initializer.java:321)
atproguard.ProGuard.initialize(ProGuard.java:211)
atproguard.ProGuard.execute(ProGuard.java:86)
at proguard.ProGuard.main(ProGuard.java:492)
原因:因为工程中用了三方的解析,做混淆时没有-keep引用,就报这个错了;
解决方法:
在proguard.cfg中加入:
## kxml2-min-2.3.0.jar
-keep public class org.** {*;}这句话,就会又报一个错,如下:
第二种错误:
[2013-11-08 15:41:20 - pocketbook] Proguard returned with errorcode 1. See console
[2013-11-08 15:41:20 - pocketbook] Note: there were 678 duplicateclass definitions.
[2013-11-08 15:41:20 - pocketbook] Warning: library classandroid.content.res.XmlResourceParser extends or implements programclass org.xmlpull.v1.XmlPullParser
[2013-11-08 15:41:20 - pocketbook] Warning: library classandroid.content.Intent depends on program classorg.xmlpull.v1.XmlPullParser
[2013-11-08 15:41:20 - pocketbook] Warning: library classandroid.content.IntentFilter depends on program classorg.xmlpull.v1.XmlPullParser
[2013-11-08 15:41:20 - pocketbook] Warning: library classandroid.content.res.ColorStateList depends on program classorg.xmlpull.v1.XmlPullParser
[2013-11-08 15:41:20 - pocketbook] Warning: library classandroid.graphics.drawable.BitmapDrawable depends on program classorg.xmlpull.v1.XmlPullParser
[2013-11-08 15:41:20 - pocketbook] Warning: library classandroid.graphics.drawable.ColorDrawable depends on program classorg.xmlpull.v1.XmlPullParser
[2013-11-08 15:41:20 - pocketbook] Warning: library classandroid.graphics.drawable.Drawable depends on program classorg.xmlpull.v1.XmlPullParser
[2013-11-08 15:41:20 - pocketbook] Warning: library classandroid.graphics.drawable.Drawable depends on program classorg.xmlpull.v1.XmlPullParser
[2013-11-08 15:41:20 - pocketbook] Warning: library classandroid.graphics.drawable.Drawable depends on program classorg.xmlpull.v1.XmlPullParser
[2013-11-08 15:41:20 - pocketbook] Warning: library classandroid.util.Xml depends on program classorg.xmlpull.v1.XmlPullParser
[2013-11-08 15:41:20 - pocketbook] Warning: library classandroid.util.Xml depends on program classorg.xmlpull.v1.XmlPullParser
[2013-11-08 15:41:20 - pocketbook] Warning: library classandroid.view.LayoutInflater depends on program classorg.xmlpull.v1.XmlPullParser
[2013-11-08 15:41:20 - pocketbook] Warning: library classandroid.view.LayoutInflater depends on program classorg.xmlpull.v1.XmlPullParser
[2013-11-08 15:41:20 - pocketbook] Warning: there were 13 instancesof library classes depending on program classes.
[2013-11-08 15:41:20 - pocketbook] You must avoid such dependencies, since theprogram classes will
[2013-11-08 15:41:20 - pocketbook] be processed, while the library classes willremain unchanged.
[2013-11-08 15:41:20 - pocketbook] java.io.IOException: Pleasecorrect the above warnings first.
[2013-11-08 15:41:20 - pocketbook] atproguard.Initializer.execute(Initializer.java:321)
[2013-11-08 15:41:20 - pocketbook] atproguard.ProGuard.initialize(ProGuard.java:211)
[2013-11-08 15:41:20 - pocketbook] atproguard.ProGuard.execute(ProGuard.java:86)
[2013-11-08 15:41:20 - pocketbook] atproguard.ProGuard.main(ProGuard.java:492)
解决办法:
去第三方的包中将那两个类给删掉了,就哦了;
第三:
还遇到一个小问题,我混淆时少写了一个关键字,如:-keep public class org.** {*;} 写成了-keeppublic org.** {*;} 就报了如下错误:
Proguard returned with error code 1. See console
Proguard Error 1
Output:
proguard.ParseException: Unexpected keyword 'org.**' in line 74 offile'E:\WorkSpace\口袋书\上线口袋书\pocketbook\proguard.cfg',
included from argument number2
atproguard.ConfigurationParser.unknownAccessFlag(ConfigurationParser.java:1048)
atproguard.ConfigurationParser.parseClassSpecificationArguments(ConfigurationParser.java:547)
atproguard.ConfigurationParser.parseKeepClassSpecificationArguments(ConfigurationParser.java:490)
atproguard.ConfigurationParser.parse(ConfigurationParser.java:138)
at proguard.ProGuard.main(ProGuard.java:484)