Skip to content

fix(android): drop the duplicate OSGi manifest that breaks the APK merge - #9247

Open
peterchinman wants to merge 1 commit into
mainfrom
peter/android-otel-packaging
Open

peterchinman wants to merge 1 commit into
mainfrom
peter/android-otel-packaging

Conversation

@peterchinman

Copy link
Copy Markdown
Contributor

Why

Android release builds from main fail for every target since the native call tracing change (#9142):

> Task :app:mergeUniversalReleaseJavaResource FAILED
2 files found with path 'META-INF/versions/9/OSGI-INF/MANIFEST.MF' from inputs:
 - jspecify-1.0.0.jar
 - opentelemetry-exporter-common-1.67.0.jar

Both libraries ship the same OSGi module manifest, and Gradle refuses to package duplicate Java resources.

Part of MACRO-4347.

What

  • apps/web/tauri/src-tauri/gen/android/app/build.gradle.kts: exclude META-INF/versions/9/OSGI-INF/MANIFEST.MF from packaged resources. Android never reads OSGi metadata, so dropping it changes nothing at runtime; the OpenTelemetry classes are still packaged. Excluding just this path, not pickFirst or a wildcard over META-INF, keeps any future real conflict visible.
  • Labelled skip-android-update: the change only affects packaging, so it neither needs a new versionCode nor raises the native build floor.

The native call tracing dependencies added jspecify and the
OpenTelemetry exporter, which both ship
META-INF/versions/9/OSGI-INF/MANIFEST.MF. Gradle refuses the duplicate
in mergeReleaseJavaResource, so Android builds from main fail. Android
never reads OSGi metadata; exclude it from the packaged resources.
@peterchinman peterchinman added the skip-android-update Android native change that does not break the native/web contract; skip the Play gate label Oct 30, 2026
@macro-application

Copy link
Copy Markdown

@coderabbitai

coderabbitai Bot commented Oct 30, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters: 1
  • apps/web/tauri/src-tauri/gen/android/app/build.gradle.kts is excluded by !**/gen/**

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

Run configuration

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-android-update Android native change that does not break the native/web contract; skip the Play gate web-app

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant