2012-08-15 19 views
8

Intento ofuscar una aplicación de Android con ProGuard.Ofuscación de Proguard y métodos genéricos

Aquí tengo una clase

public class Book implements DBbinded 

Y un método genérico

private void storeDBObjects(ArrayList<? extends DBbinded> dbObjects) 

La llamada de este método produce una java.lang.ClassCastException: java.util.LinkedHashMap después de la ofuscación. ¿Qué debo escribir en proguard.properties para solucionar esto?

Respuesta

0

Esto podría ser un error en ProGuard. Debería comprobar si la instalación de the latest version lo ayuda (ProGuard 4.9 beta1 en este momento: copie proguard4.9beta1/lib/proguard.jar en android-sdk/tools/proguard/lib). De lo contrario, puede informar el problema en ProGuard's bug tracker.

7

Acabo de encontrarme con este problema y lo resolví especificando el atributo 'Firma' bajo el argumento -keepattributes ProGuard.

-keepattributes SourceFile,LineNumberTable,Signature,*Annotation* 

No creo que sea un error de ProGuard. Espero que ayude.

+2

¡Sí, la firma está en juego! – OceanLife

+0

Además de la línea mencionada anteriormente, tuve que agregar una 'clase de clase de keepclass ' para deshacerse de la excepción – schnatterer

+0

Sweet. Gracias por agregarme. – OceanLife

Cuestiones relacionadas