bazelbuild / bazelbuild/rules_android
Manifest merger, applicationId and dependency issue
- Dominant language
- Java
- Stars
- 203
- Forks
- 95
- PR merge metrics
- No merged PRs in 30d
Description
I'm trying to build a small app using Bazel,[rules_kotlin](https://github.com/cgruber/rules_kotlin) and [rules_jvm_external](https://github.com/bazelbuild/rules_jvm_external), depending on `androidx.lifecycle:lifecycle-extensions` (through `maven_install`).
This library comes with [a manifest declaring a provider](https://android.googlesource.com/platform/frameworks/support/+/refs/heads/androidx-master-dev/lifecycle/lifecycle-process/src/main/AndroidManifest.xml?source=post_page---------------------------%2F%2F%2F%2F&autodive=0%2F%2F%2F%2F%2F#20), which is using `${applicationId}` as a placeholder - which should be replaced at merging time by the consuming application id.
I end up with this in the merged manifest:
```
```
where as with Gradle, the authority is (as expected) replaced by `com.example.myapp.lifecycle-process`. The fact that it isn't replaced results in a failure at installation time, as the authority is already present on the device. Everything else looks fine in the merged manifest. Am I missing something, or is this a bug in the manifest merging process?
Contributor guide
Assessment
This issue has not been assessed yet.