2012-10-04 9 views
5

Meine App funktioniert perfekt ohne prouard. Wenn ich Proguard mit Ormlite verwende, habe ich einige Probleme. Im logcat erscheinen:Proguard mit ormlite - parametrisierte Sammlung

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

In proguard Datei Ich habe:

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

Können Sie mir helfen? Dank

Antwort

13

ich gefunden habe, müssen Sie mehr halten als nur die Annotation Attribut

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

Unten ist mein Standard ormlite proguard Aussagen. Sie müssen die Dateien, die Ihre Daten beschreiben, ebenfalls beibehalten

# 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.** { *; }