首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Android环境下设置房间库的保护规则

如何在Android环境下设置房间库的保护规则
EN

Stack Overflow用户
提问于 2018-12-10 06:52:56
回答 3查看 10.4K关注 0票数 7

在我的应用程序中,我希望使用Room库来使用数据库,最后,对于generate APK,我在Build.Gradle中启用minify选项(proguard)。

我使用的是房间库的以下版本: :

代码语言:javascript
复制
implementation "android.arch.persistence.room:runtime:1.1.1"
annotationProcessor "android.arch.persistence.room:compiler:1.1.1"

我用保护规则写了下面的代码:

代码语言:javascript
复制
-dontwarn class android.arch.persistence.room.paging.LimitOffsetDataSource
-dontwarn interface android.arch.persistence.room.paging.LimitOffsetDataSource
-dontwarn class android.arch.util.paging.CountedDataSource
-dontwarn interface android.arch.util.paging.CountedDataSource

但是当生成APK时,在Build 选项卡中显示错误:

代码语言:javascript
复制
Unknown option 'android.arch.persistence.room.paging.LimitOffsetDataSource' in line 39 of file '/Volumes/M/Test Projects/MyApp/app/proguard-rules.pro'

显示这一行的错误:

代码语言:javascript
复制
-dontwarn class android.arch.persistence.room.paging.LimitOffsetDataSource

如何解决这个问题?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-12-10 06:55:55

在程序保护文件中为keep部分添加下面的行。

代码语言:javascript
复制
-dontwarn android.arch.util.paging.CountedDataSource
-dontwarn android.arch.persistence.room.paging.LimitOffsetDataSource
票数 2
EN

Stack Overflow用户

发布于 2019-10-23 18:29:38

如果你用雄激素

代码语言:javascript
复制
-keep class * extends androidx.room.RoomDatabase
-keep @androidx.room.Entity class *
-dontwarn androidx.room.paging.**
票数 14
EN

Stack Overflow用户

发布于 2021-10-07 06:04:50

您需要将这一行添加到pro卫士文件中。

代码语言:javascript
复制
-keepclassmembers,allowobfuscation class * {
@com.google.gson.annotations.SerializedName <fields>;
}

模型实体应该如下所示: add SerializedName("key")

代码语言:javascript
复制
@Entity
data class ListElement(

@NonNull
@PrimaryKey
@SerializedName("id")
@Expose
val id: Int,

@SerializedName("userId")
@Expose
val userId: Int,

@SerializedName("title")
@Expose
val title: String,

@SerializedName("completed")
@Expose
val completed: Boolean

)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53700773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档