5

私のアプリはプロガードなしで完全に動作します。ormlite で proguard を使用すると、いくつかの問題が発生します。logcat に次のように表示されます。

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

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

私たちを手伝ってくれますか?ありがとう

4

1 に答える 1

12

注釈属性以上のものを保持する必要があることがわかりました

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

以下は、私のデフォルトの 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.** { *; }
于 2012-10-18T22:19:03.497 に答える