首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用proguard android实现数组序列化的异常

使用proguard android实现数组序列化的异常
EN

Stack Overflow用户
提问于 2015-07-28 12:25:44
回答 1查看 709关注 0票数 3

我使用了snappy DB库,我的'Location‘类有默认构造函数。

当不使用proguard,但使用proguard时工作正常:

这是我的例外:

代码语言:javascript
复制
java.lang.IllegalArgumentException: Unable to create serializer "com.d.a.c.x" for class: Object[]

这是我的密码:

代码语言:javascript
复制
import com.snappydb.DBFactory;
ArrayList<Location> mLocationsList;
snappydb = DBFactory.open(mContext, "LocationsList");
snappydb.put("LocationsList", mLocationsList.toArray());

在这一行上抛出异常:

代码语言:javascript
复制
snappydb.put("LocationsList", locationsList.toArray());

我在项目过程中尝试了-keep class mypackagename.Location { *; },我的“Location”类实现了Serilizable。

还是不工作..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-29 06:21:09

-dontshrink标志似乎解决了这个问题。

下面是SnappyDBKryo的全过程保护配置

代码语言:javascript
复制
    -dontshrink
    -verbose
    -dontwarn sun.reflect.**
    -dontwarn java.beans.**
    -keep,allowshrinking class com.esotericsoftware.** {
       <fields>;
       <methods>;
    }
    -keep,allowshrinking class java.beans.** { *; }
    -keep,allowshrinking class sun.reflect.** { *; }
    -keep,allowshrinking class com.esotericsoftware.kryo.** { *; }
    -keep,allowshrinking class com.esotericsoftware.kryo.io.** { *; }
    -keep,allowshrinking class sun.nio.ch.** { *; }
    -dontwarn sun.nio.ch.**
    -dontwarn sun.misc.**

    -keep,allowshrinking class com.snappydb.** { *; }
    -dontwarn com.snappydb.**
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31676286

复制
相关文章

相似问题

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