Buck: android_manifest()
Support Ukraine. Help Provide Humanitarian Aid to Ukraine.


This is liable to change in the future.

An android_manifest() rule is used to generate an Android Manifest to be used by android_binary and android_aar rules. This rule takes a skeleton manifest, and merges it with manifests found in any deps.


  • name (required) #

    The short name for this build target.

  • skeleton (required) #

    Either a build target or a path to a file representing the manifest that will be merged with any manifests associated with this rule's deps.

  • deps (defaults to []) #

    A collection of dependencies that includes android_library rules. The manifest files of the android_library rules will be filtered out to become dependent source files for the manifest.

  • visibility (defaults to []) #

    List of build target patterns that identify the build rules that can include this rule as a dependency, for example, by listing it in their deps or exported_deps attributes. For more information, see visibility.

  • licenses (defaults to []) #

    Set of license files for this library. To get the list of license files for a given build rule and all of its dependencies, you can use buck query.

  • labels (defaults to []) #

    Set of arbitrary strings which allow you to annotate a build rule with tags that can be searched for over an entire dependency tree using buck query attrfilter().


Here's an example of an android_manifest() that has no deps.

  name = 'my-manifest',
  skeleton = 'AndroidManifestSkeleton.xml',

This is what AndroidManfiestSkeleton.xml looks like.

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

    <uses-sdk targetSdkVersion="19" minSdkVersion="17"/>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>

You could also use a genrule to generate the manifest file and reference the build target in the skeleton argument.