Skip to content

Missing classes causing R8 to fail on release builds #3639

Description

@btrautmann

Describe the bug

Initially we experienced this via the flutter plugin which seemingly doesn't pin the native SDK to a minor/patch version.

It looks like some annotations are defined with runtime retention but are not published to consumers:

ERROR: Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in /home/runner/work/mobile/mobile/app/build/app/outputs/mapping/bettermentRelease/missing_rules.txt.
ERROR: R8: Missing class datadog.compiler.annotations.SourceLines (referenced from: void com.datadog.android.internal.utils.FixedWindowCallback.<init>(android.view.Window$Callback) and 28 other contexts)
Missing class datadog.compiler.annotations.SourcePath (referenced from: com.datadog.android.BuildConfig and 2 other contexts)

It's been a long time since I've worked on native Android projects but per Claude the retention on these should either be changed, or they need to be bundled in the final artifact, or consumer proguard rules need to be updated.

Reproduction steps

Same as the linked ticket

Logcat logs

No response

Expected behavior

No response

Affected SDK versions

3.12.0

Latest working SDK version

3.11.0

Did you confirm if the latest SDK version fixes the bug?

Yes

Kotlin / Java version

No response

Gradle / AGP version

No response

Other dependencies versions

No response

Device Information

No response

Other relevant information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions