Proguard infierno – no puede encontrar la clase referenciada

Por lo tanto, estoy tratando de liberar algún software, pero Proguard me está dando un dolor de cabeza.

Cuando intento exportar usando proguard estoy consiguiendo porciones de la advertencia es decir "no puedo encontrar la clase referenciada"

Por ejemplo:

[2011-08-07 17:44:37 - GAME] Warning: org.simpleframework.xml.stream.StreamReader: can't find referenced class javax.xml.stream.events.XMLEvent [2011-08-07 17:44:37 - GAME] Warning: there were 52 unresolved references to classes or interfaces. [2011-08-07 17:44:37 - GAME] You may need to specify additional library jars (using '-libraryjars'), [2011-08-07 17:44:37 - GAME] or perhaps the '-dontskipnonpubliclibraryclasses' option. [2011-08-07 17:44:37 - GAME] java.io.IOException: Please correct the above warnings first. [ 

Las advertencias parecen relacionadas con simpleframework, por lo que en mi archivo de configuración proguard he añadido lo siguiente:

 -libraryjars pathtoprojecttolibs\simple-xml-2.4.jar 

Donde pathtoprojecttolibs es el camino a los tarros que son referenciados por mi proyecto.

Esto no hace NINGUNA diferencia.

Si referencia javax simpleframework puedo decir proguard a ignorar esto demasiado ??

¿Algunas ideas?

org.simpleframework.xml.stream.StreamReader en su código se refiere a javax.xml.stream.events.XMLEvent . La última clase es parte del tiempo de ejecución de Java ( rt.jar ) pero no forma parte del tiempo de ejecución de Android ( android.jar ), por lo que ProGuard advierte que algo podría estar roto. Si está seguro de que su aplicación funciona de todos modos, puede especificar

 -dontwarn javax.xml.stream.events.** 

ProGuard infierno?

En mi caso la causa raíz estaba aquí . Esas advertencias que usted puede saltar con:

 -dontwarn org.simpleframework.xml.stream.** 

La respuesta original está aquí

Debe incluir esto en su configuración de Proguard:

 -dontskipnonpubliclibraryclasses 

Mi clave mágica que resolvió mis horas de búsqueda: Añada esto a progruard-android.txt

 -dontskipnonpubliclibraryclassmembers 

Hmm. Al leer esa advertencia parecería que la biblioteca que está intentando usar tiene una dependencia de javax.xml.stream.events. No creo que el espacio de nombres esté realmente incluido en android. (Vea el índice del paquete ).

Intente desplegarlo en el emulador sin usar proguard y ver si funciona. Mi conjetura sería no si esa advertencia es exacta.

Creo que este es un caso de borde, pero en mi caso tuve que borrar completamente la carpeta de compilación en mi proguard Jenkins trató de trabajar con código antiguo que no estaba allí más – sólo en caso de que alguien tiene el mismo problema.

  • Cómo activar proguard en mi proyecto?
  • ¿Cómo invertir el ingeniero / descompilar un APK Android que se ofuscó con ProGuard?
  • Usando "dontwarn" en proguard
  • Android ProGuard + MultiDex causa ClassNotFoundException
  • ¿Qué es dex en Gradle?
  • Android: configurar Proguard
  • ¿Cómo se hace una versión de lanzamiento androide firmado y obfuscated desde dentro de eclipse?
  • Excluir paquetes de proguard
  • Error: Error de ejecución para la tarea ': app: transformClassesAndResourcesWithProguardForRelease
  • Proguard Android App para compatibilidad con LVL y fragmentos compatibles
  • Cómo configurar Proguard para mantener los métodos estáticos con diferentes tiempos de retorno
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.