Skip to content

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

Open

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

Activity

  1. argahutama commented on Jan 15, 2026

    @argahutama
    Author
    Processing Android resources for //lib-facets/lib-facets-constant:lib-facets-constant-debug failed: (Exit 1): ResourceProcessorBusyBox failed: error executing AndroidAapt2 command (from target //lib-facets/lib-facets-constant:lib-facets-constant-debug) 
      (cd /private/var/tmp/_bazel_arga.hutama/8860c6a2237f104c2cb53448947424d2/execroot/GoBiz && \
      exec env - \
        PATH=/bin:/usr/bin:/usr/local/bin \
      bazel-out/darwin_arm64-opt-exec-ST-a828a81199fe/bin/external/bazel_tools/src/tools/android/java/com/google/devtools/build/android/ResourceProcessorBusyBox @bazel-out/arm64-v8a-fastbuild-android-ST-0b2165ce48ec/bin/lib-facets/lib-facets-constant/lib-facets-constant-debug_symbols/R.txt-0.params)
    # Configuration: 902f782420bed7265e5364402851cc70784d56c2018795cbde4ee2f682c04197
    # Execution platform: @@internal_platforms_do_not_use//host:host
    java.lang.RuntimeException: Error during Linking bazel-out/arm64-v8a-fastbuild-android-ST-0b2165ce48ec/bin/lib-facets/lib-facets-constant/_generated/lib-facets-constant-debug/AndroidManifest.xml:
    Command: bazel-out/darwin_arm64-opt-exec-ST-a828a81199fe/bin/external/androidsdk/aapt2_binary\
            link\
            --no-version-vectors\
            --no-static-lib-packages\
            --manifest\
            bazel-out/arm64-v8a-fastbuild-android-ST-0b2165ce48ec/bin/lib-facets/lib-facets-constant/_generated/lib-facets-constant-debug/AndroidManifest.xml\
            --auto-add-overlay\
            --proto-format\
            --debug-mode\
            --custom-package\
            lib-facets.lib-facets-constant\
            -I\
            external/androidsdk/platforms/android-35/android.jar\
            -R\
            /var/folders/y1/mcxk_vq92g1ftkfyrnlb7_dm0000gn/T/android_resources_tmp16233332332043593127/linked/filtered/bazel-out/arm64-v8a-fastbuild-android-ST-0b2165ce48ec/bin/lib-facets/lib-facets-constant/lib-facets-constant-debug_base_symbols/symbols.zip\
            -R\
            /var/folders/y1/mcxk_vq92g1ftkfyrnlb7_dm0000gn/T/android_resources_tmp16233332332043593127/linked/filtered/folders/y1/mcxk_vq92g1ftkfyrnlb7_dm0000gn/T/android_resources_tmp16233332332043593127/compiled/compiled.zip\
            --output-text-symbols\
            /var/folders/y1/mcxk_vq92g1ftkfyrnlb7_dm0000gn/T/android_resources_tmp16233332332043593127/linked/R.txt\
            --emit-ids\
            /var/folders/y1/mcxk_vq92g1ftkfyrnlb7_dm0000gn/T/android_resources_tmp16233332332043593127/linked/ids.txt\
            --java\
            /var/folders/y1/mcxk_vq92g1ftkfyrnlb7_dm0000gn/T/android_resources_tmp16233332332043593127/linked/java\
            --proguard\
            /var/folders/y1/mcxk_vq92g1ftkfyrnlb7_dm0000gn/T/android_resources_tmp16233332332043593127/linked/proguard.cfg\
            --proguard-main-dex\
            /var/folders/y1/mcxk_vq92g1ftkfyrnlb7_dm0000gn/T/android_resources_tmp16233332332043593127/linked/proguard.maindex.cfg\
            --no-proguard-location-reference\
            -o\
            /var/folders/y1/mcxk_vq92g1ftkfyrnlb7_dm0000gn/T/android_resources_tmp16233332332043593127/linked/bin.-pb.apk
    Output:
    bazel-out/arm64-v8a-fastbuild-android-ST-0b2165ce48ec/bin/lib-facets/lib-facets-constant/_generated/lib-facets-constant-debug/AndroidManifest.xml:2: error: attribute 'package' in <manifest> tag is not a valid Android package name: 'lib-facets.lib-facets-constant'.
    
            at com.google.devtools.build.android.CommandHelper.execute(CommandHelper.java:42)
            at com.google.devtools.build.android.AaptCommandBuilder.execute(AaptCommandBuilder.java:286)
            at com.google.devtools.build.android.aapt2.ResourceLinker.linkProtoApk(ResourceLinker.java:483)
            at com.google.devtools.build.android.aapt2.ResourceLinker.link(ResourceLinker.java:672)
            at com.google.devtools.build.android.Aapt2ResourcePackagingAction.main(Aapt2ResourcePackagingAction.java:523)
            at com.google.devtools.build.android.ResourceProcessorBusyBox$Tool$8.call(ResourceProcessorBusyBox.java:112)
            at com.google.devtools.build.android.ResourceProcessorBusyBox.processRequest(ResourceProcessorBusyBox.java:237)
            at com.google.devtools.build.android.ResourceProcessorBusyBox.processRequest(ResourceProcessorBusyBox.java:217)
            at com.google.devtools.build.android.ResourceProcessorBusyBox.lambda$runPersistentWorker$0(ResourceProcessorBusyBox.java:195)
            at com.google.devtools.build.lib.worker.WorkRequestHandler$WorkRequestCallback.apply(WorkRequestHandler.java:252)
            at com.google.devtools.build.lib.worker.WorkRequestHandler.respondToRequest(WorkRequestHandler.java:480)
            at com.google.devtools.build.lib.worker.WorkRequestHandler.lambda$startResponseThread$1(WorkRequestHandler.java:433)
            at java.base/java.lang.Thread.run(Thread.java:840)
    
  2. midhunrajss0614-hub commented on Jan 20, 2026

    @midhunrajss0614-hub
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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