2016-04-07 54 views
1

我有定义如下Kotlin:需要编程Kotlin数据类?

package com.mypackage.model 

object Model { 
    data class News(val photo: String, val title: String, val description: String) 
} 

当我编译使用ProGuard(即发布版本)它一类数据,在模型中我接收到的数据和存储的所有变空。它们仍然存在,即ArrayList listOfNews确实具有预期的检索大小。但是他们的所有内容都是空的。

调试构建这是好的。为了解决这个问题,我使用这个proguard规则,它解决了这个问题。

-keep class com.mypackage.model.** { *; } 

这是预期吗?即所有的数据类都应该被保护?

+0

你得到'java.lang.ClassNotFoundException'或'java.lang.NoSuchMethodError'吗?如果没有,你的情况很可能不是Proguard的错。 – miensol

+0

没有得到任何东西。它只是静静地运行,我的程序仍然有效。但数据为空。也许我需要扫描日志消息。 – Elye

+0

检查日志,没有看到任何这样的消息。鉴于这是一个发布版本,所有的调试日志可能没有显示。如果我更改为调试版本,那么此错误不再显示,因此调试版本中没有任何问题。 – Elye

回答

0

据我所知,该行为是预期的。它可能与它们可序列化有关。我还必须将模型类添加到proguard。