android - Proguard 与 Ormlite "no such column"

标签 android proguard ormlite

我很难让 Ormlite 与 Proguard 一起工作,它不断产生新的错误。 我目前卡在以下错误消息上,有人有解决方案吗?

"android.database.sqlite.SQLiteException: no such column: region.name (code 1): ,编译时:SELECTarea.* FROMareaINNER JOINregionONarea.region_id=region.aORDER BY 区域.name ASC"

混淆配置

##---------------Begin: proguard configuration for Ormlite  ----------
-libraryjars libs/ormlite-android-4.42.jar 
-libraryjars libs/ormlite-core-4.42.jar 

-keepattributes Signature
-keep class <packagename>.db.** { *; }

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

最佳答案

将 columnName 添加到 DatabaseField 注释解决了我的问题。 @DatabaseField(columnName = "")

关于android - Proguard 与 Ormlite "no such column",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17392573/

相关文章:

android - 如何在 View 上应用 Material 设计规范中的纵横比?

android - @OnClick 在 ButterKnife 库的实现中不起作用

c# - 应用程序不会在其他计算机上运行/打开

android - * vs ** vs ***在proguard中?

java - 忽略Proguard中要优化的接口(interface)抽象方法?

android - OrmLite Android 中 int 的默认值

Android Intent 类似于 Gmail 的 attach Intent

android - Proguard 混淆使我的基于通信的应用程序的更新版本成为 'impossible' 以与旧版本的消息传递兼容

android - 如何在 OrmLite 中获取列/字段名称?