2012-03-05 10 views
11

en primer lugar, lo siento si este tema ha sido contestada, pero no he encontrado ...Proguard con Android y Google API de cliente

Soy nuevo con Android y Proguard. Al final de desarrollar mi aplicación, quiero reducir su tamaño usando Proguard, por supuesto. Como estoy utilizando algunas bibliotecas del cliente google api en mi aplicación, las he agregado como jarras externas.

Bueno, mi aplicación está funcionando bien sin pasar el paso proguard, pero cuando intento exportarla, comienza mi dolor de cabeza. Muchas advertencias que no sé cómo omitir u organizar. Algo como esto:

[2012-03-05 07:20:06 - CollaJoveThreads] Proguard returned with error code 1. See console 
[2012-03-05 07:20:06 - CollaJoveThreads] Warning: com.google.common.base.Equivalence: can't find referenced class javax.annotation.Nullable 
[2012-03-05 07:20:06 - CollaJoveThreads] Warning: com.google.common.base.Equivalence: can't find referenced class javax.annotation.Nullable 
[2012-03-05 07:20:06 - CollaJoveThreads] Warning: com.google.common.base.Equivalence: can't find referenced class javax.annotation.Nullable 
[2012-03-05 07:20:06 - CollaJoveThreads] Warning: com.google.common.base.Equivalences$Impl$1: can't find referenced class javax.annotation.Nullable 
[2012-03-05 07:20:06 - CollaJoveThreads] Warning: com.google.common.base.Equivalences$Impl$1: can't find referenced class javax.annotation.Nullable 

y más similar.

que han seguido las recomendaciones de los desarrolladores de Google, y añadió estas líneas a mi proguard.cfg:

# Needed by google-api-client to keep generic types and @Key annotations accessed via reflection 
-keepclassmembers class * { 
    @com.google.api.client.util.Key <fields>; 
} 

-keepattributes Signature,RuntimeVisibleAnnotations,AnnotationDefault,*Annotation* 

-dontwarn sun.misc.Unsafe 

pero sigue apareciendo todos estos mensajes de advertencia. Y cuando traté de usar la opción '-dontwarn', mi aplicación falla.

He leído estas preguntas, y más:

¿Alguien puede ayudar?

+1

Lo siento, lo encontré: faltaba el archivo jar 'jsr305-1.3.9' (no me había dado cuenta antes). Gracias por todo. – emiquelgavalda

Respuesta

16

Hola, sé que esto ya se resolvió agregando el archivo jar jsr305 a su proyecto. Sin embargo, me tomó un tiempo averiguar dónde encontrar este frasco y qué hacer con él.

Usted puede obtener la última versión de este frasco en here Descargar el último frasco y ponerlo en su carpeta libs, a continuación, añadir a su trayectoria de la estructura en Eclipse y todo debe ser correcto a seguir.

Esto solucionó todos mis problemas también.

+11

Para usuarios de Gradle, simplemente agregue 'compile 'com.google.code.findbugs: jsr305: 2.0.2'' en dependencias build.gradle. – Jonik