Skip to content

android_library ignores _renamed manifest and still links invalid _generated manifest package #445

@argahutama

Description

@argahutama

android_library generates an AndroidManifest with an invalid package name derived from the Bazel target name, and still uses the _generated manifest during manifest merging, even though the _renamed manifest has the correct package.

This results in AAPT2 linking failure.

Actual manifest file:

<?xml version="1.0" encoding="utf-8"?>
<manifest/>

Build file:

android_library(
    name = "lib-facets-constant-debug",
    srcs = glob([
        "src/main/kotlin/com/arga/merchant/lib/facets/constant/**/*.kt",
    ]),
    custom_package = "com.arga.merchant.lib.facets.constant",
    lint_options = {
        "enabled": True,
        "baseline": "lint-baseline.xml",
    },
    manifest = "src/main/AndroidManifest.xml",
    visibility = [
        "//visibility:public",
    ],
    deps = [
        "//:parcelize",
        "@debug_maven//:androidx_annotation_annotation",
    ],
)

Generated manifest (_generated):

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="lib-facets.lib-facets-constant">
   <application />
</manifest>

Renamed manifest (_renamed):

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.arga.merchant.lib.facets.constant" />

Expected behavior:

  • When custom_package or manifest is provided, rules_android should not generate or link a manifest with an invalid package name
  • _renamed manifest should be the only manifest passed to AAPT2

Actual behavior:

  • AAPT2 still links the _generated manifest
  • The invalid generated package causes build failure

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions