Подтвердить что ты не робот

Ошибка ProGuard не может найти суперкласс или интерфейс org.apache.http.entity

Я всегда получаю ошибку ProGuard:

[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

Мой файл proguard.cfg:

-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

Я уже добавил все свои внешние библиотеки, так почему я всегда получаю эти ошибки? Может ли кто-нибудь помочь?

EDIT 21.05.2012: Проблема заключается в том, что вы добавляете банку "Dropbox" и "ActionBarSherlock". Если я добавлю только "Dropbox", у меня нет проблем. Если я добавлю только "ActionBarSherlock", у меня нет проблем. Но если бы я добавил оба, я бы получил ошибки выше.

4b9b3361

Ответ 1

Проблема возникает, если вы добавили баннеры ActionBarSherlock и DropBox в свой проект. Чтобы решить проблему, добавьте следующую строку в файл proguard-project.txt:

-dontwarn org.apache.**

Предупреждение будет проигнорировано, и оно будет работать, потому что каждая из банок работает. Поэтому я думаю, что это будет ошибка в ProGuard, если оба добавлены.

Ответ 2

Возможно, вам нужно:

-keep class org.apache.http. **

-keep interface org.apache.http. **

Это предполагает, что, конечно, ProGuard жалуется на классы apache. По общему признанию, я догадываюсь, поскольку я не эксперт в ProGuard.