Google Play Age Signals – R8 Duplicate Class Errors (androidx.tracing + androidx.savedstate) in Xamarin/Android Binding
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 <ExcludeAssets> 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