Chúng tôi đang sử dụng ORMLite trong ứng dụng Android của chúng tôi. Nó hoạt động tốt, ngoại trừ khi chúng tôi cố gắng làm một công việc với proguard bật.sự cố khi sử dụng ORMLite trên Android với proguard
Tôi đã đọc bài viết tương tự khác nhau, và cho đến nay tôi đã có trong tôi Proguard-project.txt
-keep class com.j256.** {
*;
}
như đề xuất trong các cuộc thảo luận sau http://sourceforge.net/p/proguard/discussion/182456/thread/6765bb69
và tôi đã có
-keepclassmembers class * {
public <init>(android.content.Context);
public <init>(android.app.Activity,int);
}
như đề xuất trong một câu hỏi khác stackoverflow Proguard with OrmLite on Android
Nhưng nó vẫn không hoạt động. Tôi thể làm cho nó chạy nếu tôi thêm
-dontobfuscate
nhưng điều đó hơi thiếu điểm của việc sử dụng Proguard ở nơi đầu tiên.
Khi tôi chạy tôi nhận được một
IllegalStateException: Could not find OpenHelperClass because none of the generic
parameters of class class <our.package.name>.LaunchActivity extends
OrmLiteSqliteOpenHelper. You should use getHelper(Context, Class) instead.
đâu
public class LaunchActivity extends OrmLiteBaseActivity<DatabaseHelper>
và
public class DatabaseHelper extends OrmLiteSqliteOpenHelper
Tôi đã thêm
-keep public class * extends com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper
-keep public class <our.package.name>.LaunchActivity
Nhưng vẫn không có may mắn. Câu hỏi này dường như đã được hỏi trước đây (Problems with OrmLite and proguard obfuscation) nhưng tôi hy vọng ai đó sẽ biết giải pháp là gì!
JVM đã gặp sự cố hoặc máy chủ của bạn bị lỗi? Hoặc có thể bạn muốn nói rằng nó đã ném một ngoại lệ? – Gray