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"
- Android Proguard no está en línea
- Fuente desconocida cuando uso Proguard
- Proguard no puede encontrar el método referenciado 'void allowCoreThreadTimeOut (boolean)'
- Configuración de ProGuard para AndroidPlot
- Proguard falla con la versión 25.1.6 de las herramientas de Android
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?
- Cómo corregir estas advertencias proguard
- Android Studio - ProGuard "java.io.IOException ... bin \ classes (Ningún archivo o directorio)"
- Android Developer Tools 16 y problemas con -weepclasseswithmembers in proguard
- Proguard no ignora las bibliotecas referenciadas
- Error de ProGuard para Android con org.xmlpull.v1.XmlPullParser
- Proguard y Android :(
- Proguard ignora el archivo de configuración de la biblioteca
- Proguard Android con barra de acción Sherlock
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 implementar el botón de retroceso de Android ActionBar?
- Android Studio Gradle: Error: Error de ejecución para la tarea ': app: processDebugGoogleServices'. > No se encontró ningún cliente coincidente para el paquete