2012-10-04 20 views
5

Mi aplicación funciona perfectamente sin proguard. Cuando uso proguard con ormlite, tengo algunos problemas. En el Logcat aparecen:Proguard con orrmlite - Colección parametrizada

java.sql.SQLException: Field class for 'name' must be a parameterized Collection 

en archivo Proguard puse:

-keep class com.j256.** 
-keepclassmembers class com.j256.** { *; } 
-keep enum com.j256.** 
-keepclassmembers enum com.j256.** { *; } 
-keep interface com.j256.** 
-keepclassmembers interface com.j256.** { *; } 

¿Me podría ayudar? Gracias

Respuesta

13

que he encontrado que necesita para mantener algo más que la anotación atributo

-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod 

A continuación se muestra mis declaraciones ormlite Proguard por defecto. También debe conservar los archivos que describen sus datos

# OrmLite uses reflection 
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod 
-keep class com.j256.** 
-keepclassmembers class com.j256.** { *; } 
-keep enum com.j256.** 
-keepclassmembers enum com.j256.** { *; } 
-keep interface com.j256.** 
-keepclassmembers interface com.j256.** { *; } 

-keep class com.mycompany.myproduct.data.entity.** 
-keepclassmembers class com.mycompany.myproduct.data.entity.** { *; } 
-keep enum com.mycompany.myproduct.data.entity.** 
-keepclassmembers enum com.mycompany.myproduct.data.entity.** { *; } 
-keep interface com.mycompany.myproduct.data.entity.** 
-keepclassmembers interface com.mycompany.myproduct.data.entity.** { *; }