when i use minifyEnabled app keep crashing

369 Views Asked by At

recently I developed an android app. every thing goes well, but when I use "minifyEnabled true" app keep crashing with this error:

com.google.gson.internal.LinkedTreeMap$1
java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1344)
java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1651)
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1497)
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1461)
java.io.ObjectOutputStream.writeFieldValues(ObjectOutputStream.java:959)
java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:360)
java.io.ObjectOutputStream.writeHierarchy(ObjectOutputStream.java:1054)
java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1384)
java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1651)
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1497)
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1461)
java.io.ObjectOutputStream.writeFieldValues(ObjectOutputStream.java:959)
java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:360)
java.io.ObjectOutputStream.writeHierarchy(ObjectOutputStream.java:1054)
java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1384)
java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1651)
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1497)
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1461)
org.matrix.androidsdk.data.cryptostore.db.HelperKt.serializeForRealm(:102)
org.matrix.androidsdk.data.cryptostore.db.model.DeviceInfoEntity.putDeviceInfo(:43)
org.matrix.androidsdk.data.cryptostore.db.RealmCryptoStore$storeUserDevices$1.invoke(:244)
org.matrix.androidsdk.data.cryptostore.db.RealmCryptoStore$storeUserDevices$1.invoke(:44)
org.matrix.androidsdk.data.cryptostore.db.HelperKt$doRealmTransaction$1.execute(:86)
io.realm.Realm.a(:1493)
org.matrix.androidsdk.data.cryptostore.db.HelperKt.doRealmTransaction(:86)
org.matrix.androidsdk.data.cryptostore.db.RealmCryptoStore.storeUserDevices(:228)
org.matrix.androidsdk.crypto.MXDeviceList$4$1.run(:605)
android.os.Handler.handleCallback(Handler.java:815)
android.os.Handler.dispatchMessage(Handler.java:104)
android.os.Looper.loop(Looper.java:227)
android.os.HandlerThread.run(HandlerThread.java:61)

I tried many changes in proguard config file, but problem still exist

1

There are 1 best solutions below

2
Youssef Shamass On BEST ANSWER

Looks like Proguard wasn't able to handle the LinkedTreeMap properly. try adding a rule to skip this class to proguard-rules.pro file located inside app folder

-keep class [full class name] { *; }