【发布时间】:2015-08-26 08:35:39
【问题描述】:
每当我尝试缩小使用 parceler library 的项目时,由于来自 proguard 的大量警告,我无法构建发布 apk。例如:
警告:org.parceler.transfuse.gen.FilerResourceWriter:找不到引用的类 javax.tools.FileObject
我什至没有使用此消息中报告的大多数库。我想知道的是是否有人遇到过这个问题并设法解决它。 我尝试使用 -dontwarn 来抑制所有消息,但它似乎不正确,此外它在极少数情况下会使我的应用程序崩溃(这让我觉得某些警告消息确实是正确的,但我想要这个库自动保留所需的类)。
我的gradle脚本如下:
apply plugin: 'com.android.application'
...
dependencies {
...
compile 'org.parceler:parceler:1.0.3'
}
【问题讨论】:
-
您是否尝试将以下内容添加到您的 build.gradle 中:# Parcel library -keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *; } -keep class org.parceler.Parceler$$Parcels
-
是的,它在库文档中。确实,在作者也处理了 proguard 配置之后看到这些错误让我感到惊讶。
-
FilerResourceWriter 仅在编译时注释处理期间使用...您是否在构建脚本中使用 android-apt 插件和 Parceler 处理器的 apt 范围?
-
我没有使用它们。我必须检查,因为我什至不知道它们是什么,所以我不知道我是否可以在不知道的情况下使用它们。
-
啊,好的... Parceler 应该是 apt 或提供范围。您能否分享您当前的构建,以便我确定这是问题所在?
标签: android parcelable parceler