2012-05-19 9 views
19

consigo siempre con ProGuard siguiente error:error ProGuard no puede encontrar superclase o org.apache.http.entity interfaz

[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 

Mi archivo proguard.cfg es:

-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' Ya he agregado todas mis libretas externas, así que ¿por qué recibo siempre estos errores? ¿Alguien puede ayudar?

EDITAR 21.05.2012: El problema es que si se agrega "Dropbox" frasco y "ActionBarSherlock". Si agrego solo "Dropbox", no tengo ningún problema. Si agrego solo "ActionBarSherlock", no tengo ningún problema. Pero si agregué ambos, obtendría los errores anteriores.

Respuesta

35

El problema existe si ha agregado jarras "ActionBarSherlock" y "DropBox" a su proyecto. Para resolver el problema, agregue la siguiente línea a su archivo Proguard-project.txt:

-dontwarn org.apache.** 

se ignoró la advertencia y funcionará porque cada uno de los frascos están trabajando solos. Entonces, creo que este será el error en ProGuard, si se agregan ambos.

+0

no es trabajo y el error es: Advertencia: aa $ a: no se puede encontrar el campo referenciado 'org.apache.http.HttpEntity wrappedEntity' en la clase de programa aa $ a – Kenji

+0

@Kenji: Lo siento, ya no estoy usando ActionBarSherlock, entonces No puedo ayudarte. – chrisonline

+0

@BinilS: ¿Qué quiere decir con "API no llamará usando org.apache"? – chrisonline

8

Posiblemente es necesario:

-keep class org.apache.http.**

-keep interface org.apache.http.**

Esto es suponiendo ProGuard del curso se queja de las clases de Apache. Es cierto que estoy adivinando un poco ya que no soy un experto en ProGuard.

+0

Sí, creo que esta es una solución, pero no quiero conservarla porque no la uso. ¡Y todas las jarras externas que he agregado a libraryjars! Entonces, ¿por qué estoy recibiendo este error? – chrisonline

+0

Es posible que no tenga otra opción. ¿Ayuda la búsqueda en la página de ejemplo de ProGuard? http://proguard.sourceforge.net/index.html#manual/examples.html – Kerry

+1

Lo he intentado, pero no funciona. El mismo error ... – chrisonline

Cuestiones relacionadas