Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Cómo hacer que Proguard ignore las bibliotecas externas?

Quiero usar Proguard principalmente por razones de ofuscación.

Mi problema es que tengo tres bibliotecas, Twitter4J y dos bibliotecas de señales. Estas bibliotecas causaron errores cuando intenté crear un APK firmado. Para superar esto, pongo lo siguiente en el archivo proguard.config

 -dontwarn org.apache.commons.codec.binary.** -dontwarn org.slf4j.** -dontwarn com.sun.syndication.io.** -dontwarn com.sun.syndication.feed.synd.* 

Mientras esto se deshizo de los errores en la consola, cuando cargué mi firmado APK en mi teléfono móvil que se estrelló de inmediato. El DDMS dijo que esto era debido a una clase no encontrada en Twitter4J.

Deshacerse de la "dontwarns" arriba no ayudó. Tampoco la adición de dontshrink dontoptimise .

Me gustaría Proguard para ignorar completamente las bibliotecas (ya que son de código abierto de todos modos). es posible?

  • Ejecución de ProGuard con una biblioteca AQuery
  • ¿Cómo detiene Proguard de eliminar los parámetros de tipo?
  • Prácticas recomendadas para almacenar claves API privadas en Android
  • Error de android.support.v8.renderscript en ProGuard
  • Android build con retrolambda ignora los cambios de código fuente
  • ¿Qué tan seguro es proteger contra la ingeniería inversa?
  • Proguard elimina clase Anonymous en clase Anonymous en Java
  • ¿Cómo configurar proguard para amazon iap?
  • 2 Solutions collect form web for “¿Cómo hacer que Proguard ignore las bibliotecas externas?”

    Prueba esto:

     -keep class javax.** { *; } -keep class org.** { *; } -keep class twitter4j.** { *; } 

    Cf post de @CaspNZ: Android Proguard con tarro externo

    Debe poder agregar a proguard.cfg las siguientes líneas para excluir todas las clases dentro de un paquete (y subpaquetes)

     -keep class org.apache.commons.codec.binary.** -keep interface org.apache.commons.codec.binary.** -keep enum org.apache.commons.codec.binary.** -keep class org.slf4j.** -keep interface org.slf4j.** -keep enum org.slf4j.** -keep class com.sun.syndication.io.** -keep interface com.sun.syndication.io.** -keep enum com.sun.syndication.io.** -keep class com.sun.syndication.feed.synd.** -keep interface com.sun.syndication.feed.synd.** -keep enum com.sun.syndication.feed.synd.** 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.