第一种问题:
Proguard returned with error code 1. See console
Proguard Error 1at 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 error code 1. See console
[2013-11-08 15:41:20 - pocketbook] Note: there were 678 duplicate class definitions.
[2013-11-08 15:41:20 - pocketbook] Warning: library class android.content.res.XmlResourceParser extends or implements program class org.xmlpull.v1.XmlPullParser
[2013-11-08 15:41:20 - pocketbook] Warning: library class android.content.Intent depends on program class org.xmlpull.v1.XmlPullParser
[2013-11-08 15:41:20 - pocketbook] Warning: library class android.content.IntentFilter depends on program class org.xmlpull.v1.XmlPullParser
[2013-11-08 15:41:20 - pocketbook] Warning: library class android.content.res.ColorStateList depends on program class org.xmlpull.v1.XmlPullParser
[2013-11-08 15:41:20 - pocketbook] Warning: library class android.graphics.drawable.BitmapDrawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-11-08 15:41:20 - pocketbook] Warning: library class android.graphics.drawable.ColorDrawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-11-08 15:41:20 - pocketbook] Warning: library class android.graphics.drawable.Drawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-11-08 15:41:20 - pocketbook] Warning: library class android.graphics.drawable.Drawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-11-08 15:41:20 - pocketbook] Warning: library class android.graphics.drawable.Drawable depends on program class org.xmlpull.v1.XmlPullParser
[2013-11-08 15:41:20 - pocketbook] Warning: library class android.util.Xml depends on program class org.xmlpull.v1.XmlPullParser
[2013-11-08 15:41:20 - pocketbook] Warning: library class android.util.Xml depends on program class org.xmlpull.v1.XmlPullParser
[2013-11-08 15:41:20 - pocketbook] Warning: library class android.view.LayoutInflater depends on program class org.xmlpull.v1.XmlPullParser
[2013-11-08 15:41:20 - pocketbook] Warning: library class android.view.LayoutInflater depends on program class org.xmlpull.v1.XmlPullParser
[2013-11-08 15:41:20 - pocketbook] Warning: there were 13 instances of library classes depending on program classes.
[2013-11-08 15:41:20 - pocketbook] You must avoid such dependencies, since the program classes will
[2013-11-08 15:41:20 - pocketbook] be processed, while the library classes will remain unchanged.
[2013-11-08 15:41:20 - pocketbook] java.io.IOException: Please correct the above warnings first.
[2013-11-08 15:41:20 - pocketbook] at proguard.Initializer.execute(Initializer.java:321)
[2013-11-08 15:41:20 - pocketbook] at proguard.ProGuard.initialize(ProGuard.java:211)
[2013-11-08 15:41:20 - pocketbook] at proguard.ProGuard.execute(ProGuard.java:86)
[2013-11-08 15:41:20 - pocketbook] at proguard.ProGuard.main(ProGuard.java:492)
解决办法:
去第三方的包中将那两个类给删掉了,就哦了;
第三:
还遇到一个小问题,我混淆时少写了一个关键字,如:-keep public class org.** {*;} 写成了-keep public org.** {*;} 就报了如下错误:
Proguard returned with error code 1. See console
Proguard Error 1
Output:
proguard.ParseException: Unexpected keyword 'org.**' in line 74 of file 'E:\WorkSpace\口袋书\上线口袋书\pocketbook\proguard.cfg',
included from argument number 2
at proguard.ConfigurationParser.unknownAccessFlag(ConfigurationParser.java:1048)
at proguard.ConfigurationParser.parseClassSpecificationArguments(ConfigurationParser.java:547)
at proguard.ConfigurationParser.parseKeepClassSpecificationArguments(ConfigurationParser.java:490)
at proguard.ConfigurationParser.parse(ConfigurationParser.java:138)
at proguard.ProGuard.main(ProGuard.java:484)