Skip to content

Stale ProGuard rule in consumer-proguard-rules.pro does not exist in the SDK #315

@thanh-ha-van

Description

@thanh-ha-van

❗ Problem

The rules references a class that does not exist in the current SDK. Take this one as example:

-keep class com.launchdarkly.sdk.android.StreamUpdateProcessor$DeleteMessage { ; }

After searching the repository, I could not find:

  • com.launchdarkly.sdk.android.StreamUpdateProcessor
  • any nested class named DeleteMessage
  • any historical reference to them via GitHub search

This indicates the rule is most likely a leftover from an older internal refactor and is no longer valid.

Because the rule points to a non-existent class:

  • R8/ProGuard ignores it (harmless),
  • but it adds noise,
  • and it suggests that older streaming-related classes were removed or renamed without updating consumer rules.

🔍 How the issue was verified

  • Searched the current main branch for the class and nested class → no matches.
  • Checked package com.launchdarkly.sdk.android for any stream/update/processor classes → no match.
  • Searched GitHub history for StreamUpdateProcessor and DeleteMessage → no results.

🟢 Recommendation

  • Please remove this stale rule from:
  • launchdarkly-android-client-sdk/consumer-proguard-rules.pro
  • Or, if the class was renamed, update it to the correct current class name so that reflection/Gson usage is still protected.
  • Review the whole file and update the rule correctly.

Thanks!

If you'd like, I can also prepare a PR patch that removes the stale line or proposes updated rules for R8 full mode.

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