una tipos studio polimorfismo herencia crear como clases clase android proguard

android - tipos - cómo mantener todos los métodos en una clase con ProGuard



tipos de clases en android (2)

Bueno, es tiempo de confesión. La pregunta es bollocks. El -keepclassmembers es correcto. El problema ocurrió porque un compañero de equipo rompió el código y el constructor realmente no estaba allí.

Tenga en cuenta que si hay un cambio en el que toda la clase está optimizada, debe usar -keep como sugiere kharles, pero se necesita {*;} para garantizar que todos los métodos permanezcan en su lugar.

Tenga en cuenta que el {*;} es solo para pruebas. Para la producción se debe utilizar un enfoque más detallado.

Guardo la pregunta para cualquiera con el mismo problema.

Utilizo ProGuard para optimizar mi aplicación de Android. Sin embargo, para la prueba de instrumentación de Android necesito algunas clases (pero no todas) para mantener a todos los miembros allí. Probé varios enfoques, el último ser:

-keepclassmembers public class com.mycompany.myclass { *; }

Pero sorprendentemente sigo recibiendo

java.lang.NoSuchMethodError: com.mycompany.myclass.<init>

La parte dolorosa aquí es que hay dos constructores y uno tiene unos cuantos parámetros.

¿Alguien sabe la sintaxis correcta para mantener una clase completamente sin cambios y sin tocar por ProGuard?


tratar

-keep public class com.mycompany.myclass

(use keep, y no {*;})