【发布时间】:2022-06-12 17:22:19
【问题描述】:
该项目在没有启用 proguard 的情况下运行良好,启用它时问题就来了,我正在使用 Moshi 转换器和 Coroutines 的改造来获取数据列表,以及用于 DI 的 Hilt,我添加了所有规则并保留了所有模型
这是错误:
无法计算函数的调用者:公共构造函数 MovieListEntity(movie_data: kotlin.collections.List<com...domain.entities.MovieData>) 定义在 com...domain.entities.MovieListEntity[c@dad1eb0] (成员 = null)
这些是提到的类
data class MovieListEntity( @field:Json(name = "movie_data") val movie_data: List<MovieData> ) data class MovieData( @field:Json(name = "movie_id") val movie_id: Int, @field:Json(name = "sub_title") val sub_title: String, @field:Json(name = "title") val title: String )注意:我也尝试过没有注释,但没有帮助
这些是proguard规则:
-keep class com.***.***.domain.entitie.** { *; } -keep class com.***.***.domain.entities.* -keep class com.***.***.domain.entities.MovieListEntity -keep class com.***.***.domain.entities.MovieData -keep class com.***.***.DataBinderMapperImpl { *; } -keep class com.***.***.DataBinderMapperImpl { *; } -keep class com.***.*****{ public ** component1(); <fields>; }加上其他改造规则,OkHttp,hilt .. 等。
我该如何解决这个错误?
【问题讨论】:
标签: android kotlin security proguard data-class