2016-04-07 59 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。