Skip to content

ProGuard R8 warning for Android #194

@diegocarloslima

Description

@diegocarloslima

Expected Behavior

The build should have performed without any ProGuard related warnings.

Current Behavior

I'm getting the following warning message from R8:

Missing method java.util.Set org.json.JSONObject.keySet() (referenced from: void com.amplitude.core.utilities.TooManyRequestsResponse.<init>(org.json.JSONObject))

I believe that this issue might even result in a runtime crash, depending on which response we get from the server.

Possible Solution

The problem seems to lie in the Android framework JSONObject class, which doesn't contain the method keySet(). Probably there's a version difference between the framework and the one used by Amplitude project.

One possible solution would be to replace .keySet() calls in Response.kt by .keys().asSequence().toSet()

Environment

  • Amplitude analytics-android version: 1.16.7
  • Android minSDK: 26
  • Android targetSDK: 34

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions