android Proguard混淆问题解决方案
问题一:
error conversion to Dalvik format failed with error 1
解决方法:
打开 [Android SDK Installation Directory]\tools\proguard\bin\proguard.bat. 做如下替换:
将
call %java_exe%-jar "%PROGUARD_HOME%"\lib\proguard.jar %*
替换为
call %java_exe%-jar "%PROGUARD_HOME%"\lib\proguard.jar %1%2%3%4%5%6%7%8%
问题二:
Proguard returned with error code 1. See console
Proguard Error 1
Output:
Note: there were 4 duplicate class definitions.
Warning: library class android.content.res.XmlResourceParser extends or implements program class org.xmlpull.v1.XmlPullParser
Warning: library class android.view.LayoutInflater depends on program class org.xmlpull.v1.XmlPullParser
Warning: library class android.view.LayoutInflater depends on program class org.xmlpull.v1.XmlPullParser
Warning: library class android.content.Intent depends on program class org.xmlpull.v1.XmlPullParser
Warning: library class android.graphics.drawable.Drawable depends on program class org.xmlpull.v1.XmlPullParser
Warning: library class android.graphics.drawable.Drawable depends on program class org.xmlpull.v1.XmlPullParser
Warning: library class android.graphics.drawable.Drawable depends on program class org.xmlpull.v1.XmlPullParser
Warning: library class android.graphics.drawable.BitmapDrawable depends on program class org.xmlpull.v1.XmlPullParser
You should check if you need to specify additional program jars.
Warning: there were 8 instances of library classes depending on program classes.
You must avoid such dependencies, since the program classes will
be processed, while the library classes will remain unchanged.
java.io.IOException: Please correct the above warnings first.
at proguard.Initializer.execute(Initializer.java:308)
at proguard.ProGuard.initialize(ProGuard.java:210)
at proguard.ProGuard.execute(ProGuard.java:85)
at proguard.ProGuard.main(ProGuard.java:499)
解决方法:
方法一:
在proguard.cfg中增加
-ignorewarnings
方法二:
proguard.cfg 中增加
-dontwarn