Skip to content

Minimisation with Proguard causes a ClassCastException on GSON #6

@ntyrrell-decodedsolutions

Description

When minimised using Proguard listed below, a ClassCastException occurs.

I believe that this is caused by the following lines (309 - 313 of HPPManagerFragment)
try {
mListener.hppManagerCompletedWithResult(ApiAdapter.getGson().fromJson(msg, method.getParameterTypes()[0]));
} catch (Exception error) {
mListener.hppManagerFailedWithError(new HPPError(msg, error, hppManager.getHppResponseConsumerURL()));
}

Proguard configuration
# Realex Payment
-keep class com.realexpayments.hpp.** { *; }
-keep class com.ex.ample.sync.dto.ConsumerResponse { *; }

-keepattributes Signature

-keepattributes *Annotation*

-keep class sun.misc.Unsafe { *; }

# Prevent proguard from stripping interface information from TypeAdapterFactory,
# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
-keep class * implements com.google.gson.TypeAdapterFactory
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions