Skip to content

Google Play Age Signals – R8 Duplicate Class Errors (androidx.tracing + androidx.savedstate) in Xamarin/Android Binding #1332

@kk25maj

Description

@kk25maj

Description

We are integrating the Google Play Age Signals API (package: com.google.android.play:age-signals) using the official Xamarin binding package ‘Xamarin.Google.Android.Play.Age.Signals (0.0.1-beta02)’.

During R8/D8 compilation, the build fails with duplicate class errors:

Duplicate class: androidx.tracing.TraceKt$traceAsync$1 - tracing-android.aar - tracing-ktx.aar

Duplicate class: androidx.savedstate.ViewKt - savedstate-android.aar - savedstate-ktx.aar

This occurs even when:

Explicitly pinning AndroidX versions
Excluding tracing/savedstate dependencies
Adding ProGuard rules
Using in NuGet
The issue appears to originate from the Age Signals AAR pulling mismatched AndroidX dependencies (ktx + non-ktx) that produce conflicting classes.

We cannot integrate Age Signals into production until this is resolved.

Request:

Please verify the dependency structure for com.google.android.play:age-signals
Update the AAR to depend consistently on either android or ktx variants
Provide guidance for R8/D8 linking with Age Signals
Environment:

.NET 9 Android
R8 8.7.x
Xamarin.AndroidX.* stable versions
Xamarin.Google.Android.Play.Age.Signals 0.0.1-beta02
Thank you.

Steps to Reproduce

No response

Link to public reproduction project repository

No response

Version with bug

10.0.20

Is this a regression from previous behavior?

No, this is something new

Last version that worked well

Unknown/Other

Affected platforms

Android

Affected platform versions

No response

Did you find any workaround?

No response

Relevant log output

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions