带orrmlite的Proguard - 参数化集合

MAR*_*ARM 5 android proguard ormlite

我的应用程序完美无需proguard.当我使用带有ormlite的proguard时,我遇到了一些问题.在logcat中出现:

java.sql.SQLException: Field class for 'name' must be a parameterized Collection
Run Code Online (Sandbox Code Playgroud)

在proguard文件中我把:

-keep class com.j256.** 
-keepclassmembers class com.j256.** { *; }
-keep enum com.j256.**
-keepclassmembers enum com.j256.** { *; }
-keep interface com.j256.**
-keepclassmembers interface com.j256.** { *; }
Run Code Online (Sandbox Code Playgroud)

你可以帮帮我吗?谢谢

Rob*_*oll 12

我发现你需要保留的不仅仅是Annotation属性

-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod 
Run Code Online (Sandbox Code Playgroud)

以下是我的默认ormlite proguard语句.您还需要保留描述数据的文件

# 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.** { *; }
Run Code Online (Sandbox Code Playgroud)