Mobile Android SDK: Failed to transform jetty-client-6.1.18.jar build error

  • Updated

Reference Number: 1660

Summary: In Android, the following build error occurs when compiling the Thunderhead SDK along with the Firebase Performance plugin.

> Task :app:mergeExtDexDebug FAILED
Execution failed for task ':app:mergeExtDexDebug'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
> Failed to transform jetty-client-6.1.18.jar (org.mortbay.jetty:jetty-client:6.1.18) to match attributes {artifactType=android-dex, asm-transformed-variant=debug, dexing-enable-desugaring=true, dexing-incremental-transform=true, dexing-is-debuggable=true, dexing-min-sdk=29, org.gradle.category=library, org.gradle.libraryelements=jar, org.gradle.status=release, org.gradle.usage=java-runtime}.
  > Execution failed for AsmClassesTransform: /Users/aguyen/.gradle/caches/transforms-3/a26249367660ba39fc1084e6b9396018/transformed/jetified-jetty-client-6.1.18.jar.
     > JSR/RET are not supported with computeFrames option
> Failed to transform jetty-sslengine-6.1.18.jar (org.mortbay.jetty:jetty-sslengine:6.1.18) to match attributes {artifactType=android-dex, asm-transformed-variant=debug, dexing-enable-desugaring=true, dexing-incremental-transform=true, dexing-is-debuggable=true, dexing-min-sdk=29, org.gradle.category=library, org.gradle.libraryelements=jar, org.gradle.status=release, org.gradle.usage=java-runtime}.
  > Execution failed for AsmClassesTransform: /Users/aguyen/.gradle/caches/transforms-3/6e7fd69a080a3a0b3616bf4ba4c768bc/transformed/jetified-jetty-sslengine-6.1.18.jar.
     > JSR/RET are not supported with computeFrames option
> Failed to transform jetty-6.1.18.jar (org.mortbay.jetty:jetty:6.1.18) to match attributes {artifactType=android-dex, asm-transformed-variant=debug, dexing-enable-desugaring=true, dexing-incremental-transform=true, dexing-is-debuggable=true, dexing-min-sdk=29, org.gradle.category=library, org.gradle.libraryelements=jar, org.gradle.status=release, org.gradle.usage=java-runtime}.
  > Execution failed for AsmClassesTransform: /Users/aguyen/.gradle/caches/transforms-3/a0621e85f14335e5fd23ab3a62339506/transformed/jetified-jetty-6.1.18.jar.
     > JSR/RET are not supported with computeFrames option
> Failed to transform jetty-util-6.1.18.jar (org.mortbay.jetty:jetty-util:6.1.18) to match attributes {artifactType=android-dex, asm-transformed-variant=debug, dexing-enable-desugaring=true, dexing-incremental-transform=true, dexing-is-debuggable=true, dexing-min-sdk=29, org.gradle.category=library, org.gradle.libraryelements=jar, org.gradle.status=release, org.gradle.usage=java-runtime}.
  > Execution failed for AsmClassesTransform: /Users/aguyen/.gradle/caches/transforms-3/4a53129c6d54ea4c4b527a2038239505/transformed/jetified-jetty-util-6.1.18.jar.
     > JSR/RET are not supported with computeFrames option
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

The Thunderhead  SDK has a dependency on a third-party, signpost, that requires Jetty v6 which is compiled with Java 6. The Firebase Performance SDK attempts to modify/read the bytecode in the Jetty dependency but fails as it doesn't understand Java 6 bytecode.

The signpost dependency will be removed in a future release.  

Reproduction:

  1. Include the following dependencies in the app build.gradle file:
    • implementation("com.google.firebase:firebase-perf-ktx”
    • implementation("com.thunderhead.android:one-sdk:10.0.2”)
  2. Apply the firebase plugin in the app build.gradle file:
    • id("com.google.firebase.firebase-perf") version “1.4.0”

Expected Behavior: No build errors occur.

Actual Behavior: Build error occurs.

Workaround: If the Firebase Performance SDK can be excluded, simply removing this dependency will resolve the build error.

Status: Resolved.

Was this article helpful?

1 out of 1 found this helpful

Have more questions? Submit a request