Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update androidx.navigation transitive dependency to fix RUM obfuscation with R8 #2369

Open
plastiv opened this issue Nov 1, 2024 · 1 comment
Labels
bug Something isn't working

Comments

@plastiv
Copy link

plastiv commented Nov 1, 2024

Describe the bug

Datadog brings very old androidx.navigation incompatible with R8.fullMode which is default since AGP 8.0.

Please update the dependency to include the fix https://issuetracker.google.com/issues/191654433 .

androidXNavigation = "2.3.0"

Reproduction steps

  1. Add datadog sdk "2.14.0" to the android project
  2. Validate android.enableR8.fullMode is not set nor overwritten at gradle.properties (run with defaults)
  3. Build project with android gradle plugin "8.7.1" (probably reproducible with any AGP 8.x didn't check)
  4. Observe R8 warnings (errors)

Logcat logs

Build output

AGPBI: {"kind":"warning","text":"The class androidx.navigation.NavType is present but not the method androidx.navigation.NavType androidx.navigation.NavType$Companion.fromArgType(java.lang.String, java.lang.String) which suggests some unsupported set-up where androidx is pre-shrunk without keeping the method androidx.navigation.NavType androidx.navigation.NavType$Companion.fromArgType(java.lang.String, java.lang.String).","sources":[{}],"tool":"D8"}
AGPBI: {"kind":"warning","text":"The class androidx.navigation.NavType is present but not the method androidx.navigation.NavType androidx.navigation.NavType$Companion.fromArgType(java.lang.String, java.lang.String) which suggests some unsupported set-up where androidx is pre-shrunk without keeping the method androidx.navigation.NavType androidx.navigation.NavType$Companion.fromArgType(java.lang.String, java.lang.String).","sources":[{}],"tool":"D8"}
AGPBI: {"kind":"warning","text":"The class androidx.navigation.NavType is present but not the method androidx.navigation.NavType androidx.navigation.NavType$Companion.fromArgType(java.lang.String, java.lang.String) which suggests some unsupported set-up where androidx is pre-shrunk without keeping the method androidx.navigation.NavType androidx.navigation.NavType$Companion.fromArgType(java.lang.String, java.lang.String).","sources":[{}],"tool":"D8"}
AGPBI: {"kind":"warning","text":"The class androidx.navigation.NavType is present but not the method androidx.navigation.NavType androidx.navigation.NavType$Companion.fromArgType(java.lang.String, java.lang.String) which suggests some unsupported set-up where androidx is pre-shrunk without keeping the method androidx.navigation.NavType androidx.navigation.NavType$Companion.fromArgType(java.lang.String, java.lang.String).","sources":[{}],"tool":"D8"}
AGPBI: {"kind":"warning","text":"The class androidx.navigation.NavType is present but not the method androidx.navigation.NavType androidx.navigation.NavType$Companion.fromArgType(java.lang.String, java.lang.String) which suggests some unsupported set-up where androidx is pre-shrunk without keeping the method androidx.navigation.NavType androidx.navigation.NavType$Companion.fromArgType(java.lang.String, java.lang.String).","sources":[{}],"tool":"D8"}
AGPBI: {"kind":"warning","text":"The class androidx.navigation.NavType is present but not the method androidx.navigation.NavType androidx.navigation.NavType$Companion.fromArgType(java.lang.String, java.lang.String) which suggests some unsupported set-up where androidx is pre-shrunk without keeping the method androidx.navigation.NavType androidx.navigation.NavType$Companion.fromArgType(java.lang.String, java.lang.String).","sources":[{}],"tool":"D8"}
AGPBI: {"kind":"warning","text":"The class androidx.navigation.NavType is present but not the method androidx.navigation.NavType androidx.navigation.NavType$Companion.fromArgType(java.lang.String, java.lang.String) which suggests some unsupported set-up where androidx is pre-shrunk without keeping the method androidx.navigation.NavType androidx.navigation.NavType$Companion.fromArgType(java.lang.String, java.lang.String).","sources":[{}],"tool":"D8"}
AGPBI: {"kind":"warning","text":"The class androidx.navigation.NavType is present but not the method androidx.navigation.NavType androidx.navigation.NavType$Companion.fromArgType(java.lang.String, java.lang.String) which suggests some unsupported set-up where androidx is pre-shrunk without keeping the method androidx.navigation.NavType androidx.navigation.NavType$Companion.fromArgType(java.lang.String, java.lang.String).","sources":[{}],"tool":"D8"}
AGPBI: {"kind":"warning","text":"The class androidx.navigation.NavType is present but not the method androidx.navigation.NavType androidx.navigation.NavType$Companion.fromArgType(java.lang.String, java.lang.String) which suggests some unsupported set-up where androidx is pre-shrunk without keeping the method androidx.navigation.NavType androidx.navigation.NavType$Companion.fromArgType(java.lang.String, java.lang.String).","sources":[{}],"tool":"D8"}
AGPBI: {"kind":"warning","text":"The class androidx.navigation.NavType is present but not the method androidx.navigation.NavType androidx.navigation.NavType$Companion.fromArgType(java.lang.String, java.lang.String) which suggests some unsupported set-up where androidx is pre-shrunk without keeping the method androidx.navigation.NavType androidx.navigation.NavType$Companion.fromArgType(java.lang.String, java.lang.String).","sources":[{}],"tool":"D8"}
AGPBI: {"kind":"warning","text":"The class androidx.navigation.NavType is present but not the method androidx.navigation.NavType androidx.navigation.NavType$Companion.fromArgType(java.lang.String, java.lang.String) which suggests some unsupported set-up where androidx is pre-shrunk without keeping the method androidx.navigation.NavType androidx.navigation.NavType$Companion.fromArgType(java.lang.String, java.lang.String).","sources":[{}],"tool":"D8"}
AGPBI: {"kind":"warning","text":"The class androidx.navigation.NavType is present but not the method androidx.navigation.NavType androidx.navigation.NavType$Companion.fromArgType(java.lang.String, java.lang.String) which suggests some unsupported set-up where androidx is pre-shrunk without keeping the method androidx.navigation.NavType androidx.navigation.NavType$Companion.fromArgType(java.lang.String, java.lang.String).","sources":[{}],"tool":"D8"}
The class androidx.navigation.NavType is present but not the method androidx.navigation.NavType androidx.navigation.NavType$Companion.fromArgType(java.lang.String, java.lang.String) which suggests some unsupported set-up where androidx is pre-shrunk without keeping the method androidx.navigation.NavType androidx.navigation.NavType$Companion.fromArgType(java.lang.String, java.lang.String).

Expected behavior

No build warnings / no runtime issues with minimized/obfuscated builds.

Affected SDK versions

2.14

Latest working SDK version

didn't check, we just integrated datadog month ago

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

@plastiv plastiv added the bug Something isn't working label Nov 1, 2024
@mariusc83
Copy link
Collaborator

Hi @plastiv, thank you for reporting this, indeed we will have to update this dependency. We will get back to you once this was handled on our end.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants