Skip to content

androidx.browser:browser updated to 1.9.0-alpha01 breaking the build and CI #475

Description

@yard2010

Hello, thank you for maintaining this marvelous project!

Since yesterday my build is failing with:

> Task :app:mergeExtDexDebug FAILED

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/7.5/userguide/command_line_interface.html#sec:command_line_warnings
665 actionable tasks: 17 executed, 648 up-to-date
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
ERROR:/Users/me/.gradle/caches/transforms-3/1caee3843997b3cdeea9f17ff87e57b9/transformed/browser-1.9.0-alpha01-runtime.jar: D8: java.lang.NullPointerException

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeExtDexDebug'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
   > Failed to transform browser-1.9.0-alpha01.aar (androidx.browser:browser:1.9.0-alpha01) to match attributes {artifactType=android-dex, asm-transformed-variant=debug, dexing-enable-desugaring=true, dexing-enable-jacoco-instrumentation=false, dexing-is-debuggable=true, dexing-min-sdk=24, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}.
      > Execution failed for DexingNoClasspathTransform: /Users/me/.gradle/caches/transforms-3/1caee3843997b3cdeea9f17ff87e57b9/transformed/browser-1.9.0-alpha01-runtime.jar.
         > Error while dexing.

Going down the rabbit hole, I discovered that androidx:browser released a new version yesterday: 1.9.0-alpha01. It seems like it's incompatible with my ancient gradle/JDK.

Running ./gradlew app:dependencies | grep browser shows that this project is using 1.+ as the version of androidx.browser which made gradle update to 1.9.0-alpha01 breaking the build:

+--- project :react-native-inappbrowser-reborn
|    \--- androidx.browser:browser:1.+ -> 1.9.0-alpha01

Adding this to gradle.build solves the issue:

    configurations.all {
        resolutionStrategy {
            force 'androidx.browser:browser:1.8.0'
      }
    }

Maybe you should provide a more specific version, or lock this dependency, according to the docs:

Using dynamic dependency versions (e.g., 1.+ or [1.0,2.0)) can cause builds to break unexpectedly because the exact version of a dependency that gets resolved can change over time

My experience with Android is limited, so take everything I say with a grain of salt. If there's anyway I can contribute please let me know.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions