Closed GoogleCodeExporter closed 2 years ago
Hi. Today got this crash. Gson parsed my object like
ArrayList<LinkedTreeMap<Node<String, String>. This object convert to byte[]
like this :
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
objOutStream = new ObjectOutputStream(outStream);
objOutStream.writeObject(obj);
So, I got exception :
java.io.NotSerializableException:
ru.tcsbank.wallet.gson.patched.internal.LinkedTreeMap$1
and could not write serialized object to byte array.
Original comment by d3M1d...@gmail.com
on 2 Feb 2015 at 4:27
And yes. I dont know about true reason, but if I dont have proguard, this code
works perfect.
Original comment by d3M1d...@gmail.com
on 2 Feb 2015 at 4:30
Adding:
-keep class com.google.gson.** { *; }
to the proguard-rules.pro
fix this issue.
I don't know how fix it
Any newcomers to this issue, you only need to add the following to your proguard rules:
-keep class com.google.gson.internal.LinkedTreeMap { *; }
Closing this because based on the comments above this sounds like a ProGuard configuration issue.
Note that LinkedTreeMap
is never actually serialized itself, but insteads serializes a LinkedHashMap
as replacement. This should be invisible to users (because LinkedTreeMap
is an internal Gson class) but most likely ProGuard interfered with this serialization logic.
Original issue reported on code.google.com by
jaroslav...@lemberg.co.uk
on 23 Jan 2015 at 1:45