Dile a Proguard que mantenga la anotación en los métodos
Estoy usando mi propia anotación:
@Retention(RetentionPolicy.RUNTIME) @Target({ElementType.METHOD, ElementType.TYPE}) public @interface Loggable { }
Y ofuscar usando Proguard. Utilizo -keepattributes *Annotation*
en la configuración de Proguard para guardar las anotaciones.
- Kotlin y Proguard
- Eliminar localizaciones no utilizadas de APK
- Las herramientas de compilación de Android evitan que ProGuard elimine las clases de biblioteca de appcompat no utilizadas
- Error de generación de Proguard con la biblioteca de anotaciones de Lombok
- Kotlin android proguard error
En tiempo de ejecución, cuando recupero la anotación de una clase anotada usando someClass.getAnnotation(Loggable.class)
todo funciona – recupero una instancia no nula de mi anotación.
Sin embargo, cuando quiero aplicar lo mismo a un método anotado de alguna clase, recupero null de someMethod.getAnnotation(Loggable.class)
.
Proguard está eliminando las anotaciones de los métodos? ¿Cómo le digo que no lo haga?
Estoy usando Proguard 4.7.
- Android: Proguard no compiló con el archivo jar de Joda Time
- ProGuard: no puede encontrar la clase referenciada com.google.android.gms.R
- No se puede obtener jar biblioteca para trabajar con Android y Proguard
- Al usar Proguard, ¿necesita una configuración separada para cada biblioteca referenciada?
- Ejecución de ProGuard con una biblioteca AQuery
- Configuración de Proguard para Android Support v4 22.2.0
- Proguard con la colección parametrizada orrmlite
- Con ProGuard, ¿cuál es el impacto en la estrategia de pruebas?
Necesita utilizar el parámetro keepclassmembers
:
-keepclassmembers class ** { @com.yourpackage.Loggable public *; }
- Extrañas excepciones en android 4.0 con eclipse
- Galería de llamadas de Android para la imagen y el vídeo