ProGuard error can't find superclass or interface org.apache.http.entity

落爺英雄遲暮 提交于 2019-11-29 05:55:35

问题


I get always with ProGuard following error:

[2012-05-19 17:50:13 - xxx] Warning: there were 13 unresolved references to      program class members.
[2012-05-19 17:50:13 - xxx]          Your input classes appear to be     inconsistent.
[2012-05-19 17:50:13 - xxx]          You may need to recompile them and try again.
[2012-05-19 17:50:13 - xxx]          Alternatively, you may have to specify the option 
[2012-05-19 17:50:13 - xxx]          '-dontskipnonpubliclibraryclassmembers'.
[2012-05-19 17:50:13 - xxx] Error: Please correct the above warnings first.
[2012-05-19 17:55:40 - xxx] Proguard returned with error code 1. See console
[2012-05-19 17:55:40 - xxx] Note: there were 239 duplicate class definitions.
[2012-05-19 17:55:40 - xxx] Warning: org.apache.http.entity.mime.FormBodyPart:    can't find superclass or interface org.apache.james.mime4j.message.BodyPart
[2012-05-19 17:55:40 - xxx] Warning: org.apache.http.entity.mime.HttpMultipart: can't find superclass or interface org.apache.james.mime4j.message.Multipart
[2012-05-19 17:55:40 - xxx] Warning: org.apache.http.entity.mime.MinimalField: can't find superclass or interface org.apache.james.mime4j.parser.Field

My proguard.cfg file is:

-keep class android.support.v4.app.** { *; }
-keep interface android.support.v4.app.** { *; }
-keep class com.actionbarsherlock.** { *; }
-keep interface com.actionbarsherlock.** { *; }

-keepattributes *Annotation*
-keepattributes SourceFile, LineNumberTable

-libraryjars /libs/crittercism_v2_0_1.jar
-libraryjars /libs/dropbox-android-sdk-1.2.2.jar
-libraryjars /libs/FlurryAgent.jar
-libraryjars /libs/httpmime-4.0.3.jar
-libraryjars /libs/json_simple-1.1.jar

I've already added all my external libs so why am I getting always these errors? Can anybody help?

EDIT 21.05.2012: The problem is if you add "Dropbox" jar AND "ActionBarSherlock". If I add only "Dropbox", I have no problem. If I add only "ActionBarSherlock", I have no problem. But if I added both, I would get the errors above.


回答1:


The problem exists if you have added "ActionBarSherlock" and "DropBox" jars to your project. To solve the problem, add the below line to your proguard-project.txt file:

-dontwarn org.apache.**

The warning will be ignored and it will work because each of the jars alone are working. So I think, this will be the bug in ProGuard, if both are added.




回答2:


Possibly you need to :

-keep class org.apache.http.**

-keep interface org.apache.http.**

That is assuming of course ProGuard is complaining about the apache classes. Admittedly I am guessing somewhat as I'm no expert on ProGuard.



来源:https://stackoverflow.com/questions/10666769/proguard-error-cant-find-superclass-or-interface-org-apache-http-entity

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!