apex
apex packages other modules into an APEX file which is a packaging format for system-level
components like binaries, shared libraries, etc.
name
,
defaults
,
host_supported
,
device_supported
,
allowed_files
,
androidManifest
,
apps
,
arch
,
arch.arm
,
arch.arm64
,
arch.riscv64
,
arch.x86
,
arch.x86_64
,
bazel_module
,
binaries
,
bootclasspath_fragments
,
bpfs
,
canned_fs_config
,
certificate
,
compat_configs
,
compile_multilib
,
compressible
,
custom_sign_tool
,
debug_ramdisk
,
device_specific
,
dist
,
dists
,
dynamic_common_lib_apex
,
enabled
,
exclude_binaries
,
exclude_filesystems
,
exclude_jni_libs
,
exclude_native_shared_libs
,
exclude_rust_dyn_libs
,
exclude_tests
,
export
,
file_contexts
,
filesystems
,
future_updatable
,
generate_hashtree
,
host_required
,
ignore_system_library_special_case
,
init_rc
,
installable
,
java_libs
,
jni_libs
,
key
,
licenses
,
logging_parent
,
manifest
,
min_sdk_version
,
multilib
,
multilib.both
,
multilib.first
,
multilib.lib32
,
multilib.lib64
,
multilib.prefer32
,
native_bridge_supported
,
native_shared_libs
,
overrides
,
owner
,
package_name
,
payload_fs_type
,
payload_type
,
platform_apis
,
prebuilts
,
product_specific
,
product_variables.always_use_prebuilt_sdks
,
product_variables.debuggable
,
product_variables.flatten_apex
,
product_variables.pdk
,
product_variables.unbundled_build
,
proprietary
,
ramdisk
,
recovery
,
required
,
rros
,
rust_dyn_libs
,
sh_binaries
,
soc_specific
,
system_ext_specific
,
systemserverclasspath_fragments
,
target
,
target.android
,
target.host
,
target.linux_bionic
,
target.linux_glibc
,
target_required
,
test_only_force_compression
,
test_only_unsigned_payload
,
tests
,
trim_against
,
updatable
,
use_file_contexts_as_is
,
use_vndk_as_stable
,
vendor
,
vendor_ramdisk
,
vintf_fragments
,
visibility
name
string, The name of the module. Must be unique across all modules.
defaults
list of string
host_supported
bool, If set to true, build a variant of the module for the host. Defaults to false.
device_supported
bool, If set to true, build a variant of the module for the device. Defaults to true.
allowed_files
string, A txt file containing list of files that are allowed to be included in this APEX.
androidManifest
string, AndroidManifest.xml file used for the zip container of this APEX bundle. If unspecified,
a default one is automatically generated.
apps
list of string, List of APKs that are embedded inside this APEX.
arch
interface
⊕arch.arm
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕arch.arm64
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕arch.riscv64
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕arch.x86
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕arch.x86_64
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕bazel_module
bazelModuleProperties
In "Bazel mixed build" mode, this represents the Bazel target replacing
this Soong module.
label
string, The label of the Bazel target replacing this Soong module. When run in conversion mode, this
will import the handcrafted build target into the autogenerated file. Note: this may result in
a conflict due to duplicate targets if bp2build_available is also set.
bp2build_available
bool, If true, bp2build will generate the converted Bazel target for this module. Note: this may
cause a conflict due to the duplicate targets if label is also set.
This is a bool pointer to support tristates: true, false, not set.
To opt in a module, set bazel_module: { bp2build_available: true }
To opt out a module, set bazel_module: { bp2build_available: false }
To defer the default setting for the directory, do not set the value.
binaries
list of string, List of native executables that are embedded inside this APEX.
bootclasspath_fragments
list of string, List of bootclasspath fragments that are embedded inside this APEX bundle.
bpfs
list of string, List of BPF programs inside this APEX bundle.
canned_fs_config
string, Path to the canned fs config file for customizing file's
uid/gid/mod/capabilities. The content of this file is appended to the
default config, so that the custom entries are preferred. The format is
/<path_or_glob> <uid> <gid> <mode> [capabilities=0x<cap>], where
path_or_glob is a path or glob pattern for a file or set of files,
uid/gid are numerial values of user ID and group ID, mode is octal value
for the file mode, and cap is hexadecimal value for the capability.
certificate
string, Specifies the certificate and the private key to sign the zip container of this APEX. If
this is "foo", foo.x509.pem and foo.pk8 under PRODUCT_DEFAULT_DEV_CERTIFICATE are used
as the certificate and the private key, respectively. If this is ":module", then the
certificate and the private key are provided from the android_app_certificate module
named "module".
compat_configs
list of string, List of platform_compat_config files that are embedded inside this APEX bundle.
compile_multilib
string, control whether this module compiles for 32-bit, 64-bit, or both. Possible values
are "32" (compile for 32-bit only), "64" (compile for 64-bit only), "both" (compile for both
architectures), or "first" (compile for 64-bit on a 64-bit platform, and 32-bit on a 32-bit
platform).
compressible
bool, Whether this APEX can be compressed or not. Setting this property to false means this
APEX will never be compressed. When set to true, APEX will be compressed if other
conditions, e.g., target device needs to support APEX compression, are also fulfilled.
Default: false.
custom_sign_tool
string, Put extra tags (signer=<value>) to apexkeys.txt, so that release tools can sign this apex
with the tool to sign payload contents.
debug_ramdisk
bool, Whether this module is installed to debug ramdisk
device_specific
bool, whether this module is specific to a device, not only for SoC, but also for off-chip
peripherals. When set to true, it is installed into /odm (or /vendor/odm if odm partition
does not exist, or /system/vendor/odm if both odm and vendor partitions do not exist).
This implies `soc_specific:true`.
⊕dist
Dist
configuration to distribute output files from this module to the distribution
directory (default: $OUT/dist, configurable with $DIST_DIR)
targets
list of string, Copy the output of this module to the $DIST_DIR when `dist` is specified on the
command line and any of these targets are also on the command line, or otherwise
built
dest
string, The name of the output artifact. This defaults to the basename of the output of
the module.
dir
string, The directory within the dist directory to store the artifact. Defaults to the
top level directory ("").
suffix
string, A suffix to add to the artifact file name (before any extension).
append_artifact_with_product
bool, If true, then the artifact file will be appended with _<product name>. For
example, if the product is coral and the module is an android_app module
of name foo, then the artifact would be foo_coral.apk. If false, there is
no change to the artifact file name.
tag
string, A string tag to select the OutputFiles associated with the tag.
If no tag is specified then it will select the default dist paths provided
by the module type. If a tag of "" is specified then it will return the
default output files provided by the modules, i.e. the result of calling
OutputFiles("").
dists
list of Dist, a list of configurations to distribute output files from this module to the
distribution directory (default: $OUT/dist, configurable with $DIST_DIR)
dynamic_common_lib_apex
bool, Whether this is a dynamic common lib apex, if so the native shared libs will be placed
in a special way that include the digest of the lib file under /lib(64)?
enabled
bool, emit build rules for this module
Disabling a module should only be done for those modules that cannot be built
in the current environment. Modules that can build in the current environment
but are not usually required (e.g. superceded by a prebuilt) should not be
disabled as that will prevent them from being built by the checkbuild target
and so prevent early detection of changes that have broken those modules.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
export
bool, True if the module is exported to the other components in a multi-tree.
Any components in the multi-tree can import this module to use.
file_contexts
string, Determines the file contexts file for setting the security contexts to files in this APEX
bundle. For platform APEXes, this should points to a file under /system/sepolicy Default:
/system/sepolicy/apex/<module_name>_file_contexts.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
future_updatable
bool, Marks that this APEX is designed to be updatable in the future, although it's not
updatable yet. This is used to mimic some of the build behaviors that are applied only to
updatable APEXes. Currently, this disables the size optimization, so that the size of
APEX will not increase when the APEX is actually marked as truly updatable. Default is
false.
generate_hashtree
bool, Whenever apex_payload.img of the APEX should include dm-verity hashtree.
Default value is true.
host_required
list of string, names of other modules to install on host if this module is installed
ignore_system_library_special_case
bool, For telling the APEX to ignore special handling for system libraries such as bionic.
Default is false.
init_rc
list of string, init.rc files to be installed if this module is installed
installable
bool, Whether this APEX is installable to one of the partitions like system, vendor, etc.
Default: true.
java_libs
list of string, List of java libraries that are embedded inside this APEX bundle.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
key
string, Name of the apex_key module that provides the private key to sign this APEX bundle.
licenses
list of string, Describes the licenses applicable to this module. Must reference license modules.
logging_parent
string, Logging parent value.
manifest
string, Json manifest file describing meta info of this APEX bundle. Refer to
system/apex/proto/apex_manifest.proto for the schema. Default: "apex_manifest.json"
min_sdk_version
string, The minimum SDK version that this APEX must support at minimum. This is usually set to
the SDK version that the APEX was first introduced.
multilib
interface
⊕multilib.both
ApexNativeDependencies
Native dependencies whose compile_multilib is "both"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.first
ApexNativeDependencies
Native dependencies whose compile_multilib is "first"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib32
ApexNativeDependencies
Native dependencies whose compile_multilib is "32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib64
ApexNativeDependencies
Native dependencies whose compile_multilib is "64"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.prefer32
ApexNativeDependencies
Native dependencies whose compile_multilib is "prefer32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
native_bridge_supported
bool, Whether this module is built for non-native architectures (also known as native bridge binary)
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
overrides
list of string, Names of modules to be overridden. Listed modules can only be other binaries (in Make or
Soong). This does not completely prevent installation of the overridden binaries, but if
both binaries would be installed by default (in PRODUCT_PACKAGES) the other binary will
be removed from PRODUCT_PACKAGES.
owner
string, vendor who owns this module
package_name
string, Apex Container package name. Override value for attribute package:name in
AndroidManifest.xml
payload_fs_type
string, The type of filesystem to use when the payload_type is 'image'. Either 'ext4', 'f2fs'
or 'erofs'. Default 'ext4'.
payload_type
string, The type of APEX to build. Controls what the APEX payload is. Either 'image', 'zip' or
'both'. When set to image, contents are stored in a filesystem image inside a zip
container. When set to zip, contents are stored in a zip container directly. This type is
mostly for host-side debugging. When set to both, the two types are both built. Default
is 'image'.
platform_apis
bool, Whether this APEX can use platform APIs or not. Can be set to true only when `updatable:
false`. Default is false.
prebuilts
list of string, List of prebuilt files that are embedded inside this APEX bundle.
product_specific
bool, whether this module is specific to a software configuration of a product (e.g. country,
network operator, etc). When set to true, it is installed into /product (or
/system/product if product partition does not exist).
⊕product_variables.always_use_prebuilt_sdks
⊕product_variables.debuggable
⊕init_rc
⊕required
⊕host_required
⊕target_required
⊕product_variables.flatten_apex
⊕product_variables.pdk
⊕product_variables.unbundled_build
proprietary
bool, whether this is a proprietary vendor module, and should be installed into /vendor
ramdisk
bool, Whether this module is installed to ramdisk
recovery
bool, Whether this module is installed to recovery partition
required
list of string, names of other modules to install if this module is installed
rros
list of string, List of runtime resource overlays (RROs) that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
sh_binaries
list of string, List of sh binaries that are embedded inside this APEX bundle.
soc_specific
bool, whether this module is specific to an SoC (System-On-a-Chip). When set to true,
it is installed into /vendor (or /system/vendor if vendor partition does not exist).
system_ext_specific
bool, whether this module extends system. When set to true, it is installed into /system_ext
(or /system/system_ext if system_ext partition does not exist).
systemserverclasspath_fragments
list of string, List of systemserverclasspath fragments that are embedded inside this APEX bundle.
target
interface
⊕target.android
Multilib properties only for android.
⊕multilib.first
ApexNativeDependencies
Native dependencies whose compile_multilib is "first"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.both
ApexNativeDependencies
Native dependencies whose compile_multilib is "both"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.prefer32
ApexNativeDependencies
Native dependencies whose compile_multilib is "prefer32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib32
ApexNativeDependencies
Native dependencies whose compile_multilib is "32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib64
ApexNativeDependencies
Native dependencies whose compile_multilib is "64"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
compile_multilib
string
⊕target.host
Multilib properties only for host.
⊕multilib.first
ApexNativeDependencies
Native dependencies whose compile_multilib is "first"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.both
ApexNativeDependencies
Native dependencies whose compile_multilib is "both"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.prefer32
ApexNativeDependencies
Native dependencies whose compile_multilib is "prefer32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib32
ApexNativeDependencies
Native dependencies whose compile_multilib is "32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib64
ApexNativeDependencies
Native dependencies whose compile_multilib is "64"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
compile_multilib
string
⊕target.linux_bionic
Multilib properties only for host linux_bionic.
⊕multilib.first
ApexNativeDependencies
Native dependencies whose compile_multilib is "first"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.both
ApexNativeDependencies
Native dependencies whose compile_multilib is "both"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.prefer32
ApexNativeDependencies
Native dependencies whose compile_multilib is "prefer32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib32
ApexNativeDependencies
Native dependencies whose compile_multilib is "32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib64
ApexNativeDependencies
Native dependencies whose compile_multilib is "64"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕target.linux_glibc
Multilib properties only for host linux_glibc.
⊕multilib.first
ApexNativeDependencies
Native dependencies whose compile_multilib is "first"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.both
ApexNativeDependencies
Native dependencies whose compile_multilib is "both"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.prefer32
ApexNativeDependencies
Native dependencies whose compile_multilib is "prefer32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib32
ApexNativeDependencies
Native dependencies whose compile_multilib is "32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib64
ApexNativeDependencies
Native dependencies whose compile_multilib is "64"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
target_required
list of string, names of other modules to install on target if this module is installed
test_only_force_compression
bool, Whenever apex should be compressed, regardless of product flag used. Should be only
used in tests.
test_only_unsigned_payload
bool, Whenever apex_payload.img of the APEX should not be dm-verity signed. Should be only
used in tests.
tests
list of string, List of native tests that are embedded inside this APEX.
trim_against
string, Trim against a specific Dynamic Common Lib APEX
updatable
bool, Whether this APEX is considered updatable or not. When set to true, this will enforce
additional rules for making sure that the APEX is truly updatable. To be updatable,
min_sdk_version should be set as well. This will also disable the size optimizations like
symlinking to the system libs. Default is true.
use_file_contexts_as_is
bool, By default, file_contexts is amended by force-labelling / and /apex_manifest.pb as system_file
to avoid mistakes. When set as true, no force-labelling.
use_vndk_as_stable
bool, If set true, VNDK libs are considered as stable libs and are not included in this APEX.
Should be only used in non-system apexes (e.g. vendor: true). Default is false.
vendor
bool, whether this module is specific to an SoC (System-On-a-Chip). When set to true,
it is installed into /vendor (or /system/vendor if vendor partition does not exist).
Use `soc_specific` instead for better meaning.
vendor_ramdisk
bool, Whether this module is installed to vendor ramdisk
vintf_fragments
list of string, VINTF manifest fragments to be installed if this module is installed
visibility
list of string, Controls the visibility of this module to other modules. Allowable values are one or more of
these formats:
["//visibility:public"]: Anyone can use this module.
["//visibility:private"]: Only rules in the module's package (not its subpackages) can use
this module.
["//visibility:override"]: Discards any rules inherited from defaults or a creating module.
Can only be used at the beginning of a list of visibility rules.
["//some/package:__pkg__", "//other/package:__pkg__"]: Only modules in some/package and
other/package (defined in some/package/*.bp and other/package/*.bp) have access to
this module. Note that sub-packages do not have access to the rule; for example,
//some/package/foo:bar or //other/package/testing:bla wouldn't have access. __pkg__
is a special module and must be used verbatim. It represents all of the modules in the
package.
["//project:__subpackages__", "//other:__subpackages__"]: Only modules in packages project
or other or in one of their sub-packages have access to this module. For example,
//project:rule, //project/library:lib or //other/testing/internal:munge are allowed
to depend on this rule (but not //independent:evil)
["//project"]: This is shorthand for ["//project:__pkg__"]
[":__subpackages__"]: This is shorthand for ["//project:__subpackages__"] where
//project is the module's package. e.g. using [":__subpackages__"] in
packages/apps/Settings/Android.bp is equivalent to
//packages/apps/Settings:__subpackages__.
["//visibility:legacy_public"]: The default visibility, behaves as //visibility:public
for now. It is an error if it is used in a module.
If a module does not specify the `visibility` property then it uses the
`default_visibility` property of the `package` module in the module's package.
If the `default_visibility` property is not set for the module's package then
it will use the `default_visibility` of its closest ancestor package for which
a `default_visibility` property is specified.
If no `default_visibility` property can be found then the module uses the
global default of `//visibility:legacy_public`.
The `visibility` property has no effect on a defaults module although it does
apply to any non-defaults module that uses it. To set the visibility of a
defaults module, use the `defaults_visibility` property on the defaults module;
not to be confused with the `default_visibility` property on the package module.
See https://android.googlesource.com/platform/build/soong/+/master/README.md#visibility for
more details.
apex_defaults
apex_defaults provides defaultable properties to other apex modules.
name
,
defaults
,
host_supported
,
device_supported
,
allowed_files
,
androidManifest
,
apex_available
,
apps
,
arch
,
arch.arm
,
arch.arm64
,
arch.riscv64
,
arch.x86
,
arch.x86_64
,
bazel_module
,
binaries
,
bootclasspath_fragments
,
bpfs
,
canned_fs_config
,
certificate
,
compat_configs
,
compile_multilib
,
compressible
,
custom_sign_tool
,
debug_ramdisk
,
defaults_visibility
,
device_specific
,
dist
,
dists
,
dynamic_common_lib_apex
,
enabled
,
exclude_binaries
,
exclude_filesystems
,
exclude_jni_libs
,
exclude_native_shared_libs
,
exclude_rust_dyn_libs
,
exclude_tests
,
file_contexts
,
filesystems
,
future_updatable
,
generate_hashtree
,
host_required
,
ignore_system_library_special_case
,
init_rc
,
installable
,
java_libs
,
jni_libs
,
key
,
licenses
,
logging_parent
,
manifest
,
min_sdk_version
,
multilib
,
multilib.both
,
multilib.first
,
multilib.lib32
,
multilib.lib64
,
multilib.prefer32
,
native_bridge_supported
,
native_shared_libs
,
overrides
,
owner
,
package_name
,
payload_fs_type
,
payload_type
,
platform_apis
,
prebuilts
,
product_specific
,
product_variables.always_use_prebuilt_sdks
,
product_variables.debuggable
,
product_variables.flatten_apex
,
product_variables.pdk
,
product_variables.unbundled_build
,
proprietary
,
ramdisk
,
recovery
,
required
,
rros
,
rust_dyn_libs
,
sh_binaries
,
soc_specific
,
system_ext_specific
,
systemserverclasspath_fragments
,
target
,
target.android
,
target.host
,
target.linux_bionic
,
target.linux_glibc
,
target_required
,
test_only_force_compression
,
test_only_unsigned_payload
,
tests
,
trim_against
,
updatable
,
use_file_contexts_as_is
,
use_vndk_as_stable
,
vendor
,
vendor_ramdisk
,
vintf_fragments
,
visibility
name
string, The name of the module. Must be unique across all modules.
defaults
list of string
host_supported
bool, If set to true, build a variant of the module for the host. Defaults to false.
device_supported
bool, If set to true, build a variant of the module for the device. Defaults to true.
allowed_files
string, A txt file containing list of files that are allowed to be included in this APEX.
androidManifest
string, AndroidManifest.xml file used for the zip container of this APEX bundle. If unspecified,
a default one is automatically generated.
apex_available
list of string, Availability of this module in APEXes. Only the listed APEXes can contain this module. If
the module has stubs then other APEXes and the platform may access it through them
(subject to visibility).
"//apex_available:anyapex" is a pseudo APEX name that matches to any APEX.
"//apex_available:platform" refers to non-APEX partitions like "system.img".
"com.android.gki.*" matches any APEX module name with the prefix "com.android.gki.".
Default is ["//apex_available:platform"].
apps
list of string, List of APKs that are embedded inside this APEX.
arch
interface
⊕arch.arm
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕arch.arm64
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕arch.riscv64
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕arch.x86
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕arch.x86_64
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕bazel_module
bazelModuleProperties
In "Bazel mixed build" mode, this represents the Bazel target replacing
this Soong module.
label
string, The label of the Bazel target replacing this Soong module. When run in conversion mode, this
will import the handcrafted build target into the autogenerated file. Note: this may result in
a conflict due to duplicate targets if bp2build_available is also set.
bp2build_available
bool, If true, bp2build will generate the converted Bazel target for this module. Note: this may
cause a conflict due to the duplicate targets if label is also set.
This is a bool pointer to support tristates: true, false, not set.
To opt in a module, set bazel_module: { bp2build_available: true }
To opt out a module, set bazel_module: { bp2build_available: false }
To defer the default setting for the directory, do not set the value.
binaries
list of string, List of native executables that are embedded inside this APEX.
bootclasspath_fragments
list of string, List of bootclasspath fragments that are embedded inside this APEX bundle.
bpfs
list of string, List of BPF programs inside this APEX bundle.
canned_fs_config
string, Path to the canned fs config file for customizing file's
uid/gid/mod/capabilities. The content of this file is appended to the
default config, so that the custom entries are preferred. The format is
/<path_or_glob> <uid> <gid> <mode> [capabilities=0x<cap>], where
path_or_glob is a path or glob pattern for a file or set of files,
uid/gid are numerial values of user ID and group ID, mode is octal value
for the file mode, and cap is hexadecimal value for the capability.
certificate
string, Specifies the certificate and the private key to sign the zip container of this APEX. If
this is "foo", foo.x509.pem and foo.pk8 under PRODUCT_DEFAULT_DEV_CERTIFICATE are used
as the certificate and the private key, respectively. If this is ":module", then the
certificate and the private key are provided from the android_app_certificate module
named "module".
compat_configs
list of string, List of platform_compat_config files that are embedded inside this APEX bundle.
compile_multilib
string, control whether this module compiles for 32-bit, 64-bit, or both. Possible values
are "32" (compile for 32-bit only), "64" (compile for 64-bit only), "both" (compile for both
architectures), or "first" (compile for 64-bit on a 64-bit platform, and 32-bit on a 32-bit
platform).
compressible
bool, Whether this APEX can be compressed or not. Setting this property to false means this
APEX will never be compressed. When set to true, APEX will be compressed if other
conditions, e.g., target device needs to support APEX compression, are also fulfilled.
Default: false.
custom_sign_tool
string, Put extra tags (signer=<value>) to apexkeys.txt, so that release tools can sign this apex
with the tool to sign payload contents.
debug_ramdisk
bool, Whether this module is installed to debug ramdisk
defaults_visibility
list of string, Controls the visibility of the defaults module itself.
device_specific
bool, whether this module is specific to a device, not only for SoC, but also for off-chip
peripherals. When set to true, it is installed into /odm (or /vendor/odm if odm partition
does not exist, or /system/vendor/odm if both odm and vendor partitions do not exist).
This implies `soc_specific:true`.
⊕dist
Dist
configuration to distribute output files from this module to the distribution
directory (default: $OUT/dist, configurable with $DIST_DIR)
targets
list of string, Copy the output of this module to the $DIST_DIR when `dist` is specified on the
command line and any of these targets are also on the command line, or otherwise
built
dest
string, The name of the output artifact. This defaults to the basename of the output of
the module.
dir
string, The directory within the dist directory to store the artifact. Defaults to the
top level directory ("").
suffix
string, A suffix to add to the artifact file name (before any extension).
append_artifact_with_product
bool, If true, then the artifact file will be appended with _<product name>. For
example, if the product is coral and the module is an android_app module
of name foo, then the artifact would be foo_coral.apk. If false, there is
no change to the artifact file name.
tag
string, A string tag to select the OutputFiles associated with the tag.
If no tag is specified then it will select the default dist paths provided
by the module type. If a tag of "" is specified then it will return the
default output files provided by the modules, i.e. the result of calling
OutputFiles("").
dists
list of Dist, a list of configurations to distribute output files from this module to the
distribution directory (default: $OUT/dist, configurable with $DIST_DIR)
dynamic_common_lib_apex
bool, Whether this is a dynamic common lib apex, if so the native shared libs will be placed
in a special way that include the digest of the lib file under /lib(64)?
enabled
bool, emit build rules for this module
Disabling a module should only be done for those modules that cannot be built
in the current environment. Modules that can build in the current environment
but are not usually required (e.g. superceded by a prebuilt) should not be
disabled as that will prevent them from being built by the checkbuild target
and so prevent early detection of changes that have broken those modules.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
file_contexts
string, Determines the file contexts file for setting the security contexts to files in this APEX
bundle. For platform APEXes, this should points to a file under /system/sepolicy Default:
/system/sepolicy/apex/<module_name>_file_contexts.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
future_updatable
bool, Marks that this APEX is designed to be updatable in the future, although it's not
updatable yet. This is used to mimic some of the build behaviors that are applied only to
updatable APEXes. Currently, this disables the size optimization, so that the size of
APEX will not increase when the APEX is actually marked as truly updatable. Default is
false.
generate_hashtree
bool, Whenever apex_payload.img of the APEX should include dm-verity hashtree.
Default value is true.
host_required
list of string, names of other modules to install on host if this module is installed
ignore_system_library_special_case
bool, For telling the APEX to ignore special handling for system libraries such as bionic.
Default is false.
init_rc
list of string, init.rc files to be installed if this module is installed
installable
bool, Whether this APEX is installable to one of the partitions like system, vendor, etc.
Default: true.
java_libs
list of string, List of java libraries that are embedded inside this APEX bundle.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
key
string, Name of the apex_key module that provides the private key to sign this APEX bundle.
licenses
list of string, Describes the licenses applicable to this module. Must reference license modules.
logging_parent
string, Logging parent value.
manifest
string, Json manifest file describing meta info of this APEX bundle. Refer to
system/apex/proto/apex_manifest.proto for the schema. Default: "apex_manifest.json"
min_sdk_version
string, The minimum SDK version that this APEX must support at minimum. This is usually set to
the SDK version that the APEX was first introduced.
multilib
interface
⊕multilib.both
ApexNativeDependencies
Native dependencies whose compile_multilib is "both"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.first
ApexNativeDependencies
Native dependencies whose compile_multilib is "first"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib32
ApexNativeDependencies
Native dependencies whose compile_multilib is "32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib64
ApexNativeDependencies
Native dependencies whose compile_multilib is "64"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.prefer32
ApexNativeDependencies
Native dependencies whose compile_multilib is "prefer32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
native_bridge_supported
bool, Whether this module is built for non-native architectures (also known as native bridge binary)
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
overrides
list of string, Names of modules to be overridden. Listed modules can only be other binaries (in Make or
Soong). This does not completely prevent installation of the overridden binaries, but if
both binaries would be installed by default (in PRODUCT_PACKAGES) the other binary will
be removed from PRODUCT_PACKAGES.
owner
string, vendor who owns this module
package_name
string, Apex Container package name. Override value for attribute package:name in
AndroidManifest.xml
payload_fs_type
string, The type of filesystem to use when the payload_type is 'image'. Either 'ext4', 'f2fs'
or 'erofs'. Default 'ext4'.
payload_type
string, The type of APEX to build. Controls what the APEX payload is. Either 'image', 'zip' or
'both'. When set to image, contents are stored in a filesystem image inside a zip
container. When set to zip, contents are stored in a zip container directly. This type is
mostly for host-side debugging. When set to both, the two types are both built. Default
is 'image'.
platform_apis
bool, Whether this APEX can use platform APIs or not. Can be set to true only when `updatable:
false`. Default is false.
prebuilts
list of string, List of prebuilt files that are embedded inside this APEX bundle.
product_specific
bool, whether this module is specific to a software configuration of a product (e.g. country,
network operator, etc). When set to true, it is installed into /product (or
/system/product if product partition does not exist).
⊕product_variables.always_use_prebuilt_sdks
⊕product_variables.debuggable
⊕init_rc
⊕required
⊕host_required
⊕target_required
⊕product_variables.flatten_apex
⊕product_variables.pdk
⊕product_variables.unbundled_build
proprietary
bool, whether this is a proprietary vendor module, and should be installed into /vendor
ramdisk
bool, Whether this module is installed to ramdisk
recovery
bool, Whether this module is installed to recovery partition
required
list of string, names of other modules to install if this module is installed
rros
list of string, List of runtime resource overlays (RROs) that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
sh_binaries
list of string, List of sh binaries that are embedded inside this APEX bundle.
soc_specific
bool, whether this module is specific to an SoC (System-On-a-Chip). When set to true,
it is installed into /vendor (or /system/vendor if vendor partition does not exist).
system_ext_specific
bool, whether this module extends system. When set to true, it is installed into /system_ext
(or /system/system_ext if system_ext partition does not exist).
systemserverclasspath_fragments
list of string, List of systemserverclasspath fragments that are embedded inside this APEX bundle.
target
interface
⊕target.android
compile_multilib
string
⊕multilib.first
ApexNativeDependencies
Native dependencies whose compile_multilib is "first"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.both
ApexNativeDependencies
Native dependencies whose compile_multilib is "both"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.prefer32
ApexNativeDependencies
Native dependencies whose compile_multilib is "prefer32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib32
ApexNativeDependencies
Native dependencies whose compile_multilib is "32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib64
ApexNativeDependencies
Native dependencies whose compile_multilib is "64"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕target.host
Multilib properties only for host.
⊕multilib.first
ApexNativeDependencies
Native dependencies whose compile_multilib is "first"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.both
ApexNativeDependencies
Native dependencies whose compile_multilib is "both"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.prefer32
ApexNativeDependencies
Native dependencies whose compile_multilib is "prefer32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib32
ApexNativeDependencies
Native dependencies whose compile_multilib is "32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib64
ApexNativeDependencies
Native dependencies whose compile_multilib is "64"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
compile_multilib
string
⊕target.linux_bionic
Multilib properties only for host linux_bionic.
⊕multilib.first
ApexNativeDependencies
Native dependencies whose compile_multilib is "first"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.both
ApexNativeDependencies
Native dependencies whose compile_multilib is "both"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.prefer32
ApexNativeDependencies
Native dependencies whose compile_multilib is "prefer32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib32
ApexNativeDependencies
Native dependencies whose compile_multilib is "32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib64
ApexNativeDependencies
Native dependencies whose compile_multilib is "64"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕target.linux_glibc
Multilib properties only for host linux_glibc.
⊕multilib.first
ApexNativeDependencies
Native dependencies whose compile_multilib is "first"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.both
ApexNativeDependencies
Native dependencies whose compile_multilib is "both"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.prefer32
ApexNativeDependencies
Native dependencies whose compile_multilib is "prefer32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib32
ApexNativeDependencies
Native dependencies whose compile_multilib is "32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib64
ApexNativeDependencies
Native dependencies whose compile_multilib is "64"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
target_required
list of string, names of other modules to install on target if this module is installed
test_only_force_compression
bool, Whenever apex should be compressed, regardless of product flag used. Should be only
used in tests.
test_only_unsigned_payload
bool, Whenever apex_payload.img of the APEX should not be dm-verity signed. Should be only
used in tests.
tests
list of string, List of native tests that are embedded inside this APEX.
trim_against
string, Trim against a specific Dynamic Common Lib APEX
updatable
bool, Whether this APEX is considered updatable or not. When set to true, this will enforce
additional rules for making sure that the APEX is truly updatable. To be updatable,
min_sdk_version should be set as well. This will also disable the size optimizations like
symlinking to the system libs. Default is true.
use_file_contexts_as_is
bool, By default, file_contexts is amended by force-labelling / and /apex_manifest.pb as system_file
to avoid mistakes. When set as true, no force-labelling.
use_vndk_as_stable
bool, If set true, VNDK libs are considered as stable libs and are not included in this APEX.
Should be only used in non-system apexes (e.g. vendor: true). Default is false.
vendor
bool, whether this module is specific to an SoC (System-On-a-Chip). When set to true,
it is installed into /vendor (or /system/vendor if vendor partition does not exist).
Use `soc_specific` instead for better meaning.
vendor_ramdisk
bool, Whether this module is installed to vendor ramdisk
vintf_fragments
list of string, VINTF manifest fragments to be installed if this module is installed
visibility
list of string, Controls the visibility of this module to other modules. Allowable values are one or more of
these formats:
["//visibility:public"]: Anyone can use this module.
["//visibility:private"]: Only rules in the module's package (not its subpackages) can use
this module.
["//visibility:override"]: Discards any rules inherited from defaults or a creating module.
Can only be used at the beginning of a list of visibility rules.
["//some/package:__pkg__", "//other/package:__pkg__"]: Only modules in some/package and
other/package (defined in some/package/*.bp and other/package/*.bp) have access to
this module. Note that sub-packages do not have access to the rule; for example,
//some/package/foo:bar or //other/package/testing:bla wouldn't have access. __pkg__
is a special module and must be used verbatim. It represents all of the modules in the
package.
["//project:__subpackages__", "//other:__subpackages__"]: Only modules in packages project
or other or in one of their sub-packages have access to this module. For example,
//project:rule, //project/library:lib or //other/testing/internal:munge are allowed
to depend on this rule (but not //independent:evil)
["//project"]: This is shorthand for ["//project:__pkg__"]
[":__subpackages__"]: This is shorthand for ["//project:__subpackages__"] where
//project is the module's package. e.g. using [":__subpackages__"] in
packages/apps/Settings/Android.bp is equivalent to
//packages/apps/Settings:__subpackages__.
["//visibility:legacy_public"]: The default visibility, behaves as //visibility:public
for now. It is an error if it is used in a module.
If a module does not specify the `visibility` property then it uses the
`default_visibility` property of the `package` module in the module's package.
If the `default_visibility` property is not set for the module's package then
it will use the `default_visibility` of its closest ancestor package for which
a `default_visibility` property is specified.
If no `default_visibility` property can be found then the module uses the
global default of `//visibility:legacy_public`.
The `visibility` property has no effect on a defaults module although it does
apply to any non-defaults module that uses it. To set the visibility of a
defaults module, use the `defaults_visibility` property on the defaults module;
not to be confused with the `default_visibility` property on the package module.
See https://android.googlesource.com/platform/build/soong/+/master/README.md#visibility for
more details.
apex_key
name
,
host_supported
,
device_supported
,
arch
,
bazel_module
,
compile_multilib
,
debug_ramdisk
,
device_specific
,
dist
,
dists
,
enabled
,
host_required
,
init_rc
,
installable
,
licenses
,
multilib
,
native_bridge_supported
,
owner
,
private_key
,
product_specific
,
product_variables.always_use_prebuilt_sdks
,
product_variables.debuggable
,
product_variables.flatten_apex
,
product_variables.pdk
,
product_variables.unbundled_build
,
proprietary
,
public_key
,
ramdisk
,
recovery
,
required
,
soc_specific
,
system_ext_specific
,
target
,
target.android
,
target.host
,
target_required
,
vendor
,
vendor_ramdisk
,
vintf_fragments
,
visibility
name
string, The name of the module. Must be unique across all modules.
host_supported
bool, If set to true, build a variant of the module for the host. Defaults to false.
device_supported
bool, If set to true, build a variant of the module for the device. Defaults to true.
arch
interface
⊕bazel_module
bazelModuleProperties
In "Bazel mixed build" mode, this represents the Bazel target replacing
this Soong module.
label
string, The label of the Bazel target replacing this Soong module. When run in conversion mode, this
will import the handcrafted build target into the autogenerated file. Note: this may result in
a conflict due to duplicate targets if bp2build_available is also set.
bp2build_available
bool, If true, bp2build will generate the converted Bazel target for this module. Note: this may
cause a conflict due to the duplicate targets if label is also set.
This is a bool pointer to support tristates: true, false, not set.
To opt in a module, set bazel_module: { bp2build_available: true }
To opt out a module, set bazel_module: { bp2build_available: false }
To defer the default setting for the directory, do not set the value.
compile_multilib
string, control whether this module compiles for 32-bit, 64-bit, or both. Possible values
are "32" (compile for 32-bit only), "64" (compile for 64-bit only), "both" (compile for both
architectures), or "first" (compile for 64-bit on a 64-bit platform, and 32-bit on a 32-bit
platform).
debug_ramdisk
bool, Whether this module is installed to debug ramdisk
device_specific
bool, whether this module is specific to a device, not only for SoC, but also for off-chip
peripherals. When set to true, it is installed into /odm (or /vendor/odm if odm partition
does not exist, or /system/vendor/odm if both odm and vendor partitions do not exist).
This implies `soc_specific:true`.
⊕dist
Dist
configuration to distribute output files from this module to the distribution
directory (default: $OUT/dist, configurable with $DIST_DIR)
targets
list of string, Copy the output of this module to the $DIST_DIR when `dist` is specified on the
command line and any of these targets are also on the command line, or otherwise
built
dest
string, The name of the output artifact. This defaults to the basename of the output of
the module.
dir
string, The directory within the dist directory to store the artifact. Defaults to the
top level directory ("").
suffix
string, A suffix to add to the artifact file name (before any extension).
append_artifact_with_product
bool, If true, then the artifact file will be appended with _<product name>. For
example, if the product is coral and the module is an android_app module
of name foo, then the artifact would be foo_coral.apk. If false, there is
no change to the artifact file name.
tag
string, A string tag to select the OutputFiles associated with the tag.
If no tag is specified then it will select the default dist paths provided
by the module type. If a tag of "" is specified then it will return the
default output files provided by the modules, i.e. the result of calling
OutputFiles("").
dists
list of Dist, a list of configurations to distribute output files from this module to the
distribution directory (default: $OUT/dist, configurable with $DIST_DIR)
enabled
bool, emit build rules for this module
Disabling a module should only be done for those modules that cannot be built
in the current environment. Modules that can build in the current environment
but are not usually required (e.g. superceded by a prebuilt) should not be
disabled as that will prevent them from being built by the checkbuild target
and so prevent early detection of changes that have broken those modules.
host_required
list of string, names of other modules to install on host if this module is installed
init_rc
list of string, init.rc files to be installed if this module is installed
installable
bool, Whether this key is installable to one of the partitions. Defualt: true.
licenses
list of string, Describes the licenses applicable to this module. Must reference license modules.
multilib
interface
native_bridge_supported
bool, Whether this module is built for non-native architectures (also known as native bridge binary)
owner
string, vendor who owns this module
private_key
string, Path or module to the private key file in pem format. Used to sign APEXs.
product_specific
bool, whether this module is specific to a software configuration of a product (e.g. country,
network operator, etc). When set to true, it is installed into /product (or
/system/product if product partition does not exist).
⊕product_variables.always_use_prebuilt_sdks
⊕product_variables.debuggable
⊕init_rc
⊕required
⊕host_required
⊕target_required
⊕product_variables.flatten_apex
⊕product_variables.pdk
⊕product_variables.unbundled_build
proprietary
bool, whether this is a proprietary vendor module, and should be installed into /vendor
public_key
string, Path or module to the public key file in avbpubkey format. Installed to the device.
Base name of the file is used as the ID for the key.
ramdisk
bool, Whether this module is installed to ramdisk
recovery
bool, Whether this module is installed to recovery partition
required
list of string, names of other modules to install if this module is installed
soc_specific
bool, whether this module is specific to an SoC (System-On-a-Chip). When set to true,
it is installed into /vendor (or /system/vendor if vendor partition does not exist).
system_ext_specific
bool, whether this module extends system. When set to true, it is installed into /system_ext
(or /system/system_ext if system_ext partition does not exist).
target
interface
⊕target.android
⊕target.host
target_required
list of string, names of other modules to install on target if this module is installed
vendor
bool, whether this module is specific to an SoC (System-On-a-Chip). When set to true,
it is installed into /vendor (or /system/vendor if vendor partition does not exist).
Use `soc_specific` instead for better meaning.
vendor_ramdisk
bool, Whether this module is installed to vendor ramdisk
vintf_fragments
list of string, VINTF manifest fragments to be installed if this module is installed
visibility
list of string, Controls the visibility of this module to other modules. Allowable values are one or more of
these formats:
["//visibility:public"]: Anyone can use this module.
["//visibility:private"]: Only rules in the module's package (not its subpackages) can use
this module.
["//visibility:override"]: Discards any rules inherited from defaults or a creating module.
Can only be used at the beginning of a list of visibility rules.
["//some/package:__pkg__", "//other/package:__pkg__"]: Only modules in some/package and
other/package (defined in some/package/*.bp and other/package/*.bp) have access to
this module. Note that sub-packages do not have access to the rule; for example,
//some/package/foo:bar or //other/package/testing:bla wouldn't have access. __pkg__
is a special module and must be used verbatim. It represents all of the modules in the
package.
["//project:__subpackages__", "//other:__subpackages__"]: Only modules in packages project
or other or in one of their sub-packages have access to this module. For example,
//project:rule, //project/library:lib or //other/testing/internal:munge are allowed
to depend on this rule (but not //independent:evil)
["//project"]: This is shorthand for ["//project:__pkg__"]
[":__subpackages__"]: This is shorthand for ["//project:__subpackages__"] where
//project is the module's package. e.g. using [":__subpackages__"] in
packages/apps/Settings/Android.bp is equivalent to
//packages/apps/Settings:__subpackages__.
["//visibility:legacy_public"]: The default visibility, behaves as //visibility:public
for now. It is an error if it is used in a module.
If a module does not specify the `visibility` property then it uses the
`default_visibility` property of the `package` module in the module's package.
If the `default_visibility` property is not set for the module's package then
it will use the `default_visibility` of its closest ancestor package for which
a `default_visibility` property is specified.
If no `default_visibility` property can be found then the module uses the
global default of `//visibility:legacy_public`.
The `visibility` property has no effect on a defaults module although it does
apply to any non-defaults module that uses it. To set the visibility of a
defaults module, use the `defaults_visibility` property on the defaults module;
not to be confused with the `default_visibility` property on the package module.
See https://android.googlesource.com/platform/build/soong/+/master/README.md#visibility for
more details.
apex_set
prebuilt_apex imports an `.apex` file into the build graph as if it was built with apex.
name
,
apex_name
,
arch
,
compile_multilib
,
debug_ramdisk
,
device_specific
,
dist
,
dists
,
enabled
,
exported_bootclasspath_fragments
,
exported_java_libs
,
exported_systemserverclasspath_fragments
,
filename
,
host_required
,
init_rc
,
installable
,
licenses
,
multilib
,
native_bridge_supported
,
overrides
,
owner
,
prefer
,
prerelease
,
product_specific
,
product_variables.always_use_prebuilt_sdks
,
product_variables.debuggable
,
product_variables.flatten_apex
,
product_variables.pdk
,
product_variables.unbundled_build
,
proprietary
,
ramdisk
,
recovery
,
required
,
sanitized.address
,
sanitized.hwaddress
,
sanitized.none
,
set
,
soc_specific
,
system_ext_specific
,
target
,
target.android
,
target.host
,
target_required
,
use_source_config_var
,
vendor
,
vendor_ramdisk
,
vintf_fragments
,
visibility
name
string, The name of the module. Must be unique across all modules.
apex_name
string, Canonical name of this APEX. Used to determine the path to the activated APEX on
device (/apex/<apex_name>). If unspecified, follows the name property.
arch
interface
compile_multilib
string, control whether this module compiles for 32-bit, 64-bit, or both. Possible values
are "32" (compile for 32-bit only), "64" (compile for 64-bit only), "both" (compile for both
architectures), or "first" (compile for 64-bit on a 64-bit platform, and 32-bit on a 32-bit
platform).
debug_ramdisk
bool, Whether this module is installed to debug ramdisk
device_specific
bool, whether this module is specific to a device, not only for SoC, but also for off-chip
peripherals. When set to true, it is installed into /odm (or /vendor/odm if odm partition
does not exist, or /system/vendor/odm if both odm and vendor partitions do not exist).
This implies `soc_specific:true`.
⊕dist
Dist
configuration to distribute output files from this module to the distribution
directory (default: $OUT/dist, configurable with $DIST_DIR)
targets
list of string, Copy the output of this module to the $DIST_DIR when `dist` is specified on the
command line and any of these targets are also on the command line, or otherwise
built
dest
string, The name of the output artifact. This defaults to the basename of the output of
the module.
dir
string, The directory within the dist directory to store the artifact. Defaults to the
top level directory ("").
suffix
string, A suffix to add to the artifact file name (before any extension).
append_artifact_with_product
bool, If true, then the artifact file will be appended with _<product name>. For
example, if the product is coral and the module is an android_app module
of name foo, then the artifact would be foo_coral.apk. If false, there is
no change to the artifact file name.
tag
string, A string tag to select the OutputFiles associated with the tag.
If no tag is specified then it will select the default dist paths provided
by the module type. If a tag of "" is specified then it will return the
default output files provided by the modules, i.e. the result of calling
OutputFiles("").
dists
list of Dist, a list of configurations to distribute output files from this module to the
distribution directory (default: $OUT/dist, configurable with $DIST_DIR)
enabled
bool, emit build rules for this module
Disabling a module should only be done for those modules that cannot be built
in the current environment. Modules that can build in the current environment
but are not usually required (e.g. superceded by a prebuilt) should not be
disabled as that will prevent them from being built by the checkbuild target
and so prevent early detection of changes that have broken those modules.
exported_bootclasspath_fragments
list of string, List of bootclasspath fragments inside this prebuilt APEX bundle and for which this APEX
bundle will create an APEX variant.
exported_java_libs
list of string, List of java libraries that are embedded inside this prebuilt APEX bundle and for which this
APEX bundle will create an APEX variant and provide dex implementation jars for use by
dexpreopt and boot jars package check.
exported_systemserverclasspath_fragments
list of string, List of systemserverclasspath fragments inside this prebuilt APEX bundle and for which this
APEX bundle will create an APEX variant.
filename
string, optional name for the installed apex. If unspecified, name of the
module is used as the file name
host_required
list of string, names of other modules to install on host if this module is installed
init_rc
list of string, init.rc files to be installed if this module is installed
installable
bool, whether the extracted apex file is installable.
licenses
list of string, Describes the licenses applicable to this module. Must reference license modules.
multilib
interface
native_bridge_supported
bool, Whether this module is built for non-native architectures (also known as native bridge binary)
overrides
list of string, names of modules to be overridden. Listed modules can only be other binaries
(in Make or Soong).
This does not completely prevent installation of the overridden binaries, but if both
binaries would be installed by default (in PRODUCT_PACKAGES) the other binary will be removed
from PRODUCT_PACKAGES.
owner
string, vendor who owns this module
prefer
bool, When prefer is set to true the prebuilt will be used instead of any source module with
a matching name.
prerelease
bool, apexes in this set use prerelease SDK version
product_specific
bool, whether this module is specific to a software configuration of a product (e.g. country,
network operator, etc). When set to true, it is installed into /product (or
/system/product if product partition does not exist).
⊕product_variables.always_use_prebuilt_sdks
⊕product_variables.debuggable
⊕init_rc
⊕required
⊕host_required
⊕target_required
⊕product_variables.flatten_apex
⊕product_variables.pdk
⊕product_variables.unbundled_build
proprietary
bool, whether this is a proprietary vendor module, and should be installed into /vendor
ramdisk
bool, Whether this module is installed to ramdisk
recovery
bool, Whether this module is installed to recovery partition
required
list of string, names of other modules to install if this module is installed
⊕sanitized.address
⊕sanitized.hwaddress
⊕sanitized.none
set
string, the .apks file path that contains prebuilt apex files to be extracted.
soc_specific
bool, whether this module is specific to an SoC (System-On-a-Chip). When set to true,
it is installed into /vendor (or /system/vendor if vendor partition does not exist).
system_ext_specific
bool, whether this module extends system. When set to true, it is installed into /system_ext
(or /system/system_ext if system_ext partition does not exist).
target
interface
⊕target.android
⊕target.host
target_required
list of string, names of other modules to install on target if this module is installed
use_source_config_var
ConfigVarProperties, When specified this names a Soong config variable that controls the prefer property.
If the value of the named Soong config variable is true then prefer is set to false and vice
versa. If the Soong config variable is not set then it defaults to false, so prefer defaults
to true.
If specified then the prefer property is ignored in favor of the value of the Soong config
variable.
vendor
bool, whether this module is specific to an SoC (System-On-a-Chip). When set to true,
it is installed into /vendor (or /system/vendor if vendor partition does not exist).
Use `soc_specific` instead for better meaning.
vendor_ramdisk
bool, Whether this module is installed to vendor ramdisk
vintf_fragments
list of string, VINTF manifest fragments to be installed if this module is installed
visibility
list of string, Controls the visibility of this module to other modules. Allowable values are one or more of
these formats:
["//visibility:public"]: Anyone can use this module.
["//visibility:private"]: Only rules in the module's package (not its subpackages) can use
this module.
["//visibility:override"]: Discards any rules inherited from defaults or a creating module.
Can only be used at the beginning of a list of visibility rules.
["//some/package:__pkg__", "//other/package:__pkg__"]: Only modules in some/package and
other/package (defined in some/package/*.bp and other/package/*.bp) have access to
this module. Note that sub-packages do not have access to the rule; for example,
//some/package/foo:bar or //other/package/testing:bla wouldn't have access. __pkg__
is a special module and must be used verbatim. It represents all of the modules in the
package.
["//project:__subpackages__", "//other:__subpackages__"]: Only modules in packages project
or other or in one of their sub-packages have access to this module. For example,
//project:rule, //project/library:lib or //other/testing/internal:munge are allowed
to depend on this rule (but not //independent:evil)
["//project"]: This is shorthand for ["//project:__pkg__"]
[":__subpackages__"]: This is shorthand for ["//project:__subpackages__"] where
//project is the module's package. e.g. using [":__subpackages__"] in
packages/apps/Settings/Android.bp is equivalent to
//packages/apps/Settings:__subpackages__.
["//visibility:legacy_public"]: The default visibility, behaves as //visibility:public
for now. It is an error if it is used in a module.
If a module does not specify the `visibility` property then it uses the
`default_visibility` property of the `package` module in the module's package.
If the `default_visibility` property is not set for the module's package then
it will use the `default_visibility` of its closest ancestor package for which
a `default_visibility` property is specified.
If no `default_visibility` property can be found then the module uses the
global default of `//visibility:legacy_public`.
The `visibility` property has no effect on a defaults module although it does
apply to any non-defaults module that uses it. To set the visibility of a
defaults module, use the `defaults_visibility` property on the defaults module;
not to be confused with the `default_visibility` property on the package module.
See https://android.googlesource.com/platform/build/soong/+/master/README.md#visibility for
more details.
apex_test
apex_test is an APEX for testing. The difference from the ordinary apex module type is that
certain compatibility checks such as apex_available are not done for apex_test.
name
,
defaults
,
host_supported
,
device_supported
,
allowed_files
,
androidManifest
,
apps
,
arch
,
arch.arm
,
arch.arm64
,
arch.riscv64
,
arch.x86
,
arch.x86_64
,
bazel_module
,
binaries
,
bootclasspath_fragments
,
bpfs
,
canned_fs_config
,
certificate
,
compat_configs
,
compile_multilib
,
compressible
,
custom_sign_tool
,
debug_ramdisk
,
device_specific
,
dist
,
dists
,
dynamic_common_lib_apex
,
enabled
,
exclude_binaries
,
exclude_filesystems
,
exclude_jni_libs
,
exclude_native_shared_libs
,
exclude_rust_dyn_libs
,
exclude_tests
,
export
,
file_contexts
,
filesystems
,
future_updatable
,
generate_hashtree
,
host_required
,
ignore_system_library_special_case
,
init_rc
,
installable
,
java_libs
,
jni_libs
,
key
,
licenses
,
logging_parent
,
manifest
,
min_sdk_version
,
multilib
,
multilib.both
,
multilib.first
,
multilib.lib32
,
multilib.lib64
,
multilib.prefer32
,
native_bridge_supported
,
native_shared_libs
,
overrides
,
owner
,
package_name
,
payload_fs_type
,
payload_type
,
platform_apis
,
prebuilts
,
product_specific
,
product_variables.always_use_prebuilt_sdks
,
product_variables.debuggable
,
product_variables.flatten_apex
,
product_variables.pdk
,
product_variables.unbundled_build
,
proprietary
,
ramdisk
,
recovery
,
required
,
rros
,
rust_dyn_libs
,
sh_binaries
,
soc_specific
,
system_ext_specific
,
systemserverclasspath_fragments
,
target
,
target.android
,
target.host
,
target.linux_bionic
,
target.linux_glibc
,
target_required
,
test_only_force_compression
,
test_only_unsigned_payload
,
tests
,
trim_against
,
updatable
,
use_file_contexts_as_is
,
use_vndk_as_stable
,
vendor
,
vendor_ramdisk
,
vintf_fragments
,
visibility
name
string, The name of the module. Must be unique across all modules.
defaults
list of string
host_supported
bool, If set to true, build a variant of the module for the host. Defaults to false.
device_supported
bool, If set to true, build a variant of the module for the device. Defaults to true.
allowed_files
string, A txt file containing list of files that are allowed to be included in this APEX.
androidManifest
string, AndroidManifest.xml file used for the zip container of this APEX bundle. If unspecified,
a default one is automatically generated.
apps
list of string, List of APKs that are embedded inside this APEX.
arch
interface
⊕arch.arm
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕arch.arm64
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕arch.riscv64
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕arch.x86
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕arch.x86_64
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕bazel_module
bazelModuleProperties
In "Bazel mixed build" mode, this represents the Bazel target replacing
this Soong module.
label
string, The label of the Bazel target replacing this Soong module. When run in conversion mode, this
will import the handcrafted build target into the autogenerated file. Note: this may result in
a conflict due to duplicate targets if bp2build_available is also set.
bp2build_available
bool, If true, bp2build will generate the converted Bazel target for this module. Note: this may
cause a conflict due to the duplicate targets if label is also set.
This is a bool pointer to support tristates: true, false, not set.
To opt in a module, set bazel_module: { bp2build_available: true }
To opt out a module, set bazel_module: { bp2build_available: false }
To defer the default setting for the directory, do not set the value.
binaries
list of string, List of native executables that are embedded inside this APEX.
bootclasspath_fragments
list of string, List of bootclasspath fragments that are embedded inside this APEX bundle.
bpfs
list of string, List of BPF programs inside this APEX bundle.
canned_fs_config
string, Path to the canned fs config file for customizing file's
uid/gid/mod/capabilities. The content of this file is appended to the
default config, so that the custom entries are preferred. The format is
/<path_or_glob> <uid> <gid> <mode> [capabilities=0x<cap>], where
path_or_glob is a path or glob pattern for a file or set of files,
uid/gid are numerial values of user ID and group ID, mode is octal value
for the file mode, and cap is hexadecimal value for the capability.
certificate
string, Specifies the certificate and the private key to sign the zip container of this APEX. If
this is "foo", foo.x509.pem and foo.pk8 under PRODUCT_DEFAULT_DEV_CERTIFICATE are used
as the certificate and the private key, respectively. If this is ":module", then the
certificate and the private key are provided from the android_app_certificate module
named "module".
compat_configs
list of string, List of platform_compat_config files that are embedded inside this APEX bundle.
compile_multilib
string, control whether this module compiles for 32-bit, 64-bit, or both. Possible values
are "32" (compile for 32-bit only), "64" (compile for 64-bit only), "both" (compile for both
architectures), or "first" (compile for 64-bit on a 64-bit platform, and 32-bit on a 32-bit
platform).
compressible
bool, Whether this APEX can be compressed or not. Setting this property to false means this
APEX will never be compressed. When set to true, APEX will be compressed if other
conditions, e.g., target device needs to support APEX compression, are also fulfilled.
Default: false.
custom_sign_tool
string, Put extra tags (signer=<value>) to apexkeys.txt, so that release tools can sign this apex
with the tool to sign payload contents.
debug_ramdisk
bool, Whether this module is installed to debug ramdisk
device_specific
bool, whether this module is specific to a device, not only for SoC, but also for off-chip
peripherals. When set to true, it is installed into /odm (or /vendor/odm if odm partition
does not exist, or /system/vendor/odm if both odm and vendor partitions do not exist).
This implies `soc_specific:true`.
⊕dist
Dist
configuration to distribute output files from this module to the distribution
directory (default: $OUT/dist, configurable with $DIST_DIR)
targets
list of string, Copy the output of this module to the $DIST_DIR when `dist` is specified on the
command line and any of these targets are also on the command line, or otherwise
built
dest
string, The name of the output artifact. This defaults to the basename of the output of
the module.
dir
string, The directory within the dist directory to store the artifact. Defaults to the
top level directory ("").
suffix
string, A suffix to add to the artifact file name (before any extension).
append_artifact_with_product
bool, If true, then the artifact file will be appended with _<product name>. For
example, if the product is coral and the module is an android_app module
of name foo, then the artifact would be foo_coral.apk. If false, there is
no change to the artifact file name.
tag
string, A string tag to select the OutputFiles associated with the tag.
If no tag is specified then it will select the default dist paths provided
by the module type. If a tag of "" is specified then it will return the
default output files provided by the modules, i.e. the result of calling
OutputFiles("").
dists
list of Dist, a list of configurations to distribute output files from this module to the
distribution directory (default: $OUT/dist, configurable with $DIST_DIR)
dynamic_common_lib_apex
bool, Whether this is a dynamic common lib apex, if so the native shared libs will be placed
in a special way that include the digest of the lib file under /lib(64)?
enabled
bool, emit build rules for this module
Disabling a module should only be done for those modules that cannot be built
in the current environment. Modules that can build in the current environment
but are not usually required (e.g. superceded by a prebuilt) should not be
disabled as that will prevent them from being built by the checkbuild target
and so prevent early detection of changes that have broken those modules.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
export
bool, True if the module is exported to the other components in a multi-tree.
Any components in the multi-tree can import this module to use.
file_contexts
string, Determines the file contexts file for setting the security contexts to files in this APEX
bundle. For platform APEXes, this should points to a file under /system/sepolicy Default:
/system/sepolicy/apex/<module_name>_file_contexts.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
future_updatable
bool, Marks that this APEX is designed to be updatable in the future, although it's not
updatable yet. This is used to mimic some of the build behaviors that are applied only to
updatable APEXes. Currently, this disables the size optimization, so that the size of
APEX will not increase when the APEX is actually marked as truly updatable. Default is
false.
generate_hashtree
bool, Whenever apex_payload.img of the APEX should include dm-verity hashtree.
Default value is true.
host_required
list of string, names of other modules to install on host if this module is installed
ignore_system_library_special_case
bool, For telling the APEX to ignore special handling for system libraries such as bionic.
Default is false.
init_rc
list of string, init.rc files to be installed if this module is installed
installable
bool, Whether this APEX is installable to one of the partitions like system, vendor, etc.
Default: true.
java_libs
list of string, List of java libraries that are embedded inside this APEX bundle.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
key
string, Name of the apex_key module that provides the private key to sign this APEX bundle.
licenses
list of string, Describes the licenses applicable to this module. Must reference license modules.
logging_parent
string, Logging parent value.
manifest
string, Json manifest file describing meta info of this APEX bundle. Refer to
system/apex/proto/apex_manifest.proto for the schema. Default: "apex_manifest.json"
min_sdk_version
string, The minimum SDK version that this APEX must support at minimum. This is usually set to
the SDK version that the APEX was first introduced.
multilib
interface
⊕multilib.both
ApexNativeDependencies
Native dependencies whose compile_multilib is "both"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.first
ApexNativeDependencies
Native dependencies whose compile_multilib is "first"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib32
ApexNativeDependencies
Native dependencies whose compile_multilib is "32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib64
ApexNativeDependencies
Native dependencies whose compile_multilib is "64"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.prefer32
ApexNativeDependencies
Native dependencies whose compile_multilib is "prefer32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
native_bridge_supported
bool, Whether this module is built for non-native architectures (also known as native bridge binary)
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
overrides
list of string, Names of modules to be overridden. Listed modules can only be other binaries (in Make or
Soong). This does not completely prevent installation of the overridden binaries, but if
both binaries would be installed by default (in PRODUCT_PACKAGES) the other binary will
be removed from PRODUCT_PACKAGES.
owner
string, vendor who owns this module
package_name
string, Apex Container package name. Override value for attribute package:name in
AndroidManifest.xml
payload_fs_type
string, The type of filesystem to use when the payload_type is 'image'. Either 'ext4', 'f2fs'
or 'erofs'. Default 'ext4'.
payload_type
string, The type of APEX to build. Controls what the APEX payload is. Either 'image', 'zip' or
'both'. When set to image, contents are stored in a filesystem image inside a zip
container. When set to zip, contents are stored in a zip container directly. This type is
mostly for host-side debugging. When set to both, the two types are both built. Default
is 'image'.
platform_apis
bool, Whether this APEX can use platform APIs or not. Can be set to true only when `updatable:
false`. Default is false.
prebuilts
list of string, List of prebuilt files that are embedded inside this APEX bundle.
product_specific
bool, whether this module is specific to a software configuration of a product (e.g. country,
network operator, etc). When set to true, it is installed into /product (or
/system/product if product partition does not exist).
⊕product_variables.always_use_prebuilt_sdks
⊕product_variables.debuggable
⊕init_rc
⊕required
⊕host_required
⊕target_required
⊕product_variables.flatten_apex
⊕product_variables.pdk
⊕product_variables.unbundled_build
proprietary
bool, whether this is a proprietary vendor module, and should be installed into /vendor
ramdisk
bool, Whether this module is installed to ramdisk
recovery
bool, Whether this module is installed to recovery partition
required
list of string, names of other modules to install if this module is installed
rros
list of string, List of runtime resource overlays (RROs) that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
sh_binaries
list of string, List of sh binaries that are embedded inside this APEX bundle.
soc_specific
bool, whether this module is specific to an SoC (System-On-a-Chip). When set to true,
it is installed into /vendor (or /system/vendor if vendor partition does not exist).
system_ext_specific
bool, whether this module extends system. When set to true, it is installed into /system_ext
(or /system/system_ext if system_ext partition does not exist).
systemserverclasspath_fragments
list of string, List of systemserverclasspath fragments that are embedded inside this APEX bundle.
target
interface
⊕target.android
Multilib properties only for android.
⊕multilib.first
ApexNativeDependencies
Native dependencies whose compile_multilib is "first"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.both
ApexNativeDependencies
Native dependencies whose compile_multilib is "both"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.prefer32
ApexNativeDependencies
Native dependencies whose compile_multilib is "prefer32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib32
ApexNativeDependencies
Native dependencies whose compile_multilib is "32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib64
ApexNativeDependencies
Native dependencies whose compile_multilib is "64"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
compile_multilib
string
⊕target.host
Multilib properties only for host.
⊕multilib.first
ApexNativeDependencies
Native dependencies whose compile_multilib is "first"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.both
ApexNativeDependencies
Native dependencies whose compile_multilib is "both"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.prefer32
ApexNativeDependencies
Native dependencies whose compile_multilib is "prefer32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib32
ApexNativeDependencies
Native dependencies whose compile_multilib is "32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib64
ApexNativeDependencies
Native dependencies whose compile_multilib is "64"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
compile_multilib
string
⊕target.linux_bionic
Multilib properties only for host linux_bionic.
⊕multilib.first
ApexNativeDependencies
Native dependencies whose compile_multilib is "first"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.both
ApexNativeDependencies
Native dependencies whose compile_multilib is "both"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.prefer32
ApexNativeDependencies
Native dependencies whose compile_multilib is "prefer32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib32
ApexNativeDependencies
Native dependencies whose compile_multilib is "32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib64
ApexNativeDependencies
Native dependencies whose compile_multilib is "64"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕target.linux_glibc
Multilib properties only for host linux_glibc.
⊕multilib.first
ApexNativeDependencies
Native dependencies whose compile_multilib is "first"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.both
ApexNativeDependencies
Native dependencies whose compile_multilib is "both"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.prefer32
ApexNativeDependencies
Native dependencies whose compile_multilib is "prefer32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib32
ApexNativeDependencies
Native dependencies whose compile_multilib is "32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib64
ApexNativeDependencies
Native dependencies whose compile_multilib is "64"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
target_required
list of string, names of other modules to install on target if this module is installed
test_only_force_compression
bool, Whenever apex should be compressed, regardless of product flag used. Should be only
used in tests.
test_only_unsigned_payload
bool, Whenever apex_payload.img of the APEX should not be dm-verity signed. Should be only
used in tests.
tests
list of string, List of native tests that are embedded inside this APEX.
trim_against
string, Trim against a specific Dynamic Common Lib APEX
updatable
bool, Whether this APEX is considered updatable or not. When set to true, this will enforce
additional rules for making sure that the APEX is truly updatable. To be updatable,
min_sdk_version should be set as well. This will also disable the size optimizations like
symlinking to the system libs. Default is true.
use_file_contexts_as_is
bool, By default, file_contexts is amended by force-labelling / and /apex_manifest.pb as system_file
to avoid mistakes. When set as true, no force-labelling.
use_vndk_as_stable
bool, If set true, VNDK libs are considered as stable libs and are not included in this APEX.
Should be only used in non-system apexes (e.g. vendor: true). Default is false.
vendor
bool, whether this module is specific to an SoC (System-On-a-Chip). When set to true,
it is installed into /vendor (or /system/vendor if vendor partition does not exist).
Use `soc_specific` instead for better meaning.
vendor_ramdisk
bool, Whether this module is installed to vendor ramdisk
vintf_fragments
list of string, VINTF manifest fragments to be installed if this module is installed
visibility
list of string, Controls the visibility of this module to other modules. Allowable values are one or more of
these formats:
["//visibility:public"]: Anyone can use this module.
["//visibility:private"]: Only rules in the module's package (not its subpackages) can use
this module.
["//visibility:override"]: Discards any rules inherited from defaults or a creating module.
Can only be used at the beginning of a list of visibility rules.
["//some/package:__pkg__", "//other/package:__pkg__"]: Only modules in some/package and
other/package (defined in some/package/*.bp and other/package/*.bp) have access to
this module. Note that sub-packages do not have access to the rule; for example,
//some/package/foo:bar or //other/package/testing:bla wouldn't have access. __pkg__
is a special module and must be used verbatim. It represents all of the modules in the
package.
["//project:__subpackages__", "//other:__subpackages__"]: Only modules in packages project
or other or in one of their sub-packages have access to this module. For example,
//project:rule, //project/library:lib or //other/testing/internal:munge are allowed
to depend on this rule (but not //independent:evil)
["//project"]: This is shorthand for ["//project:__pkg__"]
[":__subpackages__"]: This is shorthand for ["//project:__subpackages__"] where
//project is the module's package. e.g. using [":__subpackages__"] in
packages/apps/Settings/Android.bp is equivalent to
//packages/apps/Settings:__subpackages__.
["//visibility:legacy_public"]: The default visibility, behaves as //visibility:public
for now. It is an error if it is used in a module.
If a module does not specify the `visibility` property then it uses the
`default_visibility` property of the `package` module in the module's package.
If the `default_visibility` property is not set for the module's package then
it will use the `default_visibility` of its closest ancestor package for which
a `default_visibility` property is specified.
If no `default_visibility` property can be found then the module uses the
global default of `//visibility:legacy_public`.
The `visibility` property has no effect on a defaults module although it does
apply to any non-defaults module that uses it. To set the visibility of a
defaults module, use the `defaults_visibility` property on the defaults module;
not to be confused with the `default_visibility` property on the package module.
See https://android.googlesource.com/platform/build/soong/+/master/README.md#visibility for
more details.
apex_vndk
apex_vndk creates a special variant of apex modules which contains only VNDK libraries.
If `vndk_version` is specified, the VNDK libraries of the specified VNDK version are gathered automatically.
If not specified, then the "current" versions are gathered.
name
,
defaults
,
host_supported
,
device_supported
,
allowed_files
,
androidManifest
,
apps
,
arch
,
arch.arm
,
arch.arm64
,
arch.riscv64
,
arch.x86
,
arch.x86_64
,
bazel_module
,
binaries
,
bootclasspath_fragments
,
bpfs
,
canned_fs_config
,
certificate
,
compat_configs
,
compile_multilib
,
compressible
,
custom_sign_tool
,
debug_ramdisk
,
device_specific
,
dist
,
dists
,
dynamic_common_lib_apex
,
enabled
,
exclude_binaries
,
exclude_filesystems
,
exclude_jni_libs
,
exclude_native_shared_libs
,
exclude_rust_dyn_libs
,
exclude_tests
,
export
,
file_contexts
,
filesystems
,
future_updatable
,
generate_hashtree
,
host_required
,
ignore_system_library_special_case
,
init_rc
,
installable
,
java_libs
,
jni_libs
,
key
,
licenses
,
logging_parent
,
manifest
,
min_sdk_version
,
multilib
,
multilib.both
,
multilib.first
,
multilib.lib32
,
multilib.lib64
,
multilib.prefer32
,
native_bridge_supported
,
native_shared_libs
,
overrides
,
owner
,
package_name
,
payload_fs_type
,
payload_type
,
platform_apis
,
prebuilts
,
product_specific
,
product_variables.always_use_prebuilt_sdks
,
product_variables.debuggable
,
product_variables.flatten_apex
,
product_variables.pdk
,
product_variables.unbundled_build
,
proprietary
,
ramdisk
,
recovery
,
required
,
rros
,
rust_dyn_libs
,
sh_binaries
,
soc_specific
,
system_ext_specific
,
systemserverclasspath_fragments
,
target
,
target.android
,
target.host
,
target.linux_bionic
,
target.linux_glibc
,
target_required
,
test_only_force_compression
,
test_only_unsigned_payload
,
tests
,
trim_against
,
updatable
,
use_file_contexts_as_is
,
use_vndk_as_stable
,
vendor
,
vendor_ramdisk
,
vintf_fragments
,
visibility
,
vndk_version
name
string, The name of the module. Must be unique across all modules.
defaults
list of string
host_supported
bool, If set to true, build a variant of the module for the host. Defaults to false.
device_supported
bool, If set to true, build a variant of the module for the device. Defaults to true.
allowed_files
string, A txt file containing list of files that are allowed to be included in this APEX.
androidManifest
string, AndroidManifest.xml file used for the zip container of this APEX bundle. If unspecified,
a default one is automatically generated.
apps
list of string, List of APKs that are embedded inside this APEX.
arch
interface
⊕arch.arm
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕arch.arm64
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕arch.riscv64
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕arch.x86
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕arch.x86_64
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕bazel_module
bazelModuleProperties
In "Bazel mixed build" mode, this represents the Bazel target replacing
this Soong module.
label
string, The label of the Bazel target replacing this Soong module. When run in conversion mode, this
will import the handcrafted build target into the autogenerated file. Note: this may result in
a conflict due to duplicate targets if bp2build_available is also set.
bp2build_available
bool, If true, bp2build will generate the converted Bazel target for this module. Note: this may
cause a conflict due to the duplicate targets if label is also set.
This is a bool pointer to support tristates: true, false, not set.
To opt in a module, set bazel_module: { bp2build_available: true }
To opt out a module, set bazel_module: { bp2build_available: false }
To defer the default setting for the directory, do not set the value.
binaries
list of string, List of native executables that are embedded inside this APEX.
bootclasspath_fragments
list of string, List of bootclasspath fragments that are embedded inside this APEX bundle.
bpfs
list of string, List of BPF programs inside this APEX bundle.
canned_fs_config
string, Path to the canned fs config file for customizing file's
uid/gid/mod/capabilities. The content of this file is appended to the
default config, so that the custom entries are preferred. The format is
/<path_or_glob> <uid> <gid> <mode> [capabilities=0x<cap>], where
path_or_glob is a path or glob pattern for a file or set of files,
uid/gid are numerial values of user ID and group ID, mode is octal value
for the file mode, and cap is hexadecimal value for the capability.
certificate
string, Specifies the certificate and the private key to sign the zip container of this APEX. If
this is "foo", foo.x509.pem and foo.pk8 under PRODUCT_DEFAULT_DEV_CERTIFICATE are used
as the certificate and the private key, respectively. If this is ":module", then the
certificate and the private key are provided from the android_app_certificate module
named "module".
compat_configs
list of string, List of platform_compat_config files that are embedded inside this APEX bundle.
compile_multilib
string, control whether this module compiles for 32-bit, 64-bit, or both. Possible values
are "32" (compile for 32-bit only), "64" (compile for 64-bit only), "both" (compile for both
architectures), or "first" (compile for 64-bit on a 64-bit platform, and 32-bit on a 32-bit
platform).
compressible
bool, Whether this APEX can be compressed or not. Setting this property to false means this
APEX will never be compressed. When set to true, APEX will be compressed if other
conditions, e.g., target device needs to support APEX compression, are also fulfilled.
Default: false.
custom_sign_tool
string, Put extra tags (signer=<value>) to apexkeys.txt, so that release tools can sign this apex
with the tool to sign payload contents.
debug_ramdisk
bool, Whether this module is installed to debug ramdisk
device_specific
bool, whether this module is specific to a device, not only for SoC, but also for off-chip
peripherals. When set to true, it is installed into /odm (or /vendor/odm if odm partition
does not exist, or /system/vendor/odm if both odm and vendor partitions do not exist).
This implies `soc_specific:true`.
⊕dist
Dist
configuration to distribute output files from this module to the distribution
directory (default: $OUT/dist, configurable with $DIST_DIR)
targets
list of string, Copy the output of this module to the $DIST_DIR when `dist` is specified on the
command line and any of these targets are also on the command line, or otherwise
built
dest
string, The name of the output artifact. This defaults to the basename of the output of
the module.
dir
string, The directory within the dist directory to store the artifact. Defaults to the
top level directory ("").
suffix
string, A suffix to add to the artifact file name (before any extension).
append_artifact_with_product
bool, If true, then the artifact file will be appended with _<product name>. For
example, if the product is coral and the module is an android_app module
of name foo, then the artifact would be foo_coral.apk. If false, there is
no change to the artifact file name.
tag
string, A string tag to select the OutputFiles associated with the tag.
If no tag is specified then it will select the default dist paths provided
by the module type. If a tag of "" is specified then it will return the
default output files provided by the modules, i.e. the result of calling
OutputFiles("").
dists
list of Dist, a list of configurations to distribute output files from this module to the
distribution directory (default: $OUT/dist, configurable with $DIST_DIR)
dynamic_common_lib_apex
bool, Whether this is a dynamic common lib apex, if so the native shared libs will be placed
in a special way that include the digest of the lib file under /lib(64)?
enabled
bool, emit build rules for this module
Disabling a module should only be done for those modules that cannot be built
in the current environment. Modules that can build in the current environment
but are not usually required (e.g. superceded by a prebuilt) should not be
disabled as that will prevent them from being built by the checkbuild target
and so prevent early detection of changes that have broken those modules.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
export
bool, True if the module is exported to the other components in a multi-tree.
Any components in the multi-tree can import this module to use.
file_contexts
string, Determines the file contexts file for setting the security contexts to files in this APEX
bundle. For platform APEXes, this should points to a file under /system/sepolicy Default:
/system/sepolicy/apex/<module_name>_file_contexts.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
future_updatable
bool, Marks that this APEX is designed to be updatable in the future, although it's not
updatable yet. This is used to mimic some of the build behaviors that are applied only to
updatable APEXes. Currently, this disables the size optimization, so that the size of
APEX will not increase when the APEX is actually marked as truly updatable. Default is
false.
generate_hashtree
bool, Whenever apex_payload.img of the APEX should include dm-verity hashtree.
Default value is true.
host_required
list of string, names of other modules to install on host if this module is installed
ignore_system_library_special_case
bool, For telling the APEX to ignore special handling for system libraries such as bionic.
Default is false.
init_rc
list of string, init.rc files to be installed if this module is installed
installable
bool, Whether this APEX is installable to one of the partitions like system, vendor, etc.
Default: true.
java_libs
list of string, List of java libraries that are embedded inside this APEX bundle.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
key
string, Name of the apex_key module that provides the private key to sign this APEX bundle.
licenses
list of string, Describes the licenses applicable to this module. Must reference license modules.
logging_parent
string, Logging parent value.
manifest
string, Json manifest file describing meta info of this APEX bundle. Refer to
system/apex/proto/apex_manifest.proto for the schema. Default: "apex_manifest.json"
min_sdk_version
string, The minimum SDK version that this APEX must support at minimum. This is usually set to
the SDK version that the APEX was first introduced.
multilib
interface
⊕multilib.both
ApexNativeDependencies
Native dependencies whose compile_multilib is "both"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.first
ApexNativeDependencies
Native dependencies whose compile_multilib is "first"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib32
ApexNativeDependencies
Native dependencies whose compile_multilib is "32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib64
ApexNativeDependencies
Native dependencies whose compile_multilib is "64"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.prefer32
ApexNativeDependencies
Native dependencies whose compile_multilib is "prefer32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
native_bridge_supported
bool, Whether this module is built for non-native architectures (also known as native bridge binary)
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
overrides
list of string, Names of modules to be overridden. Listed modules can only be other binaries (in Make or
Soong). This does not completely prevent installation of the overridden binaries, but if
both binaries would be installed by default (in PRODUCT_PACKAGES) the other binary will
be removed from PRODUCT_PACKAGES.
owner
string, vendor who owns this module
package_name
string, Apex Container package name. Override value for attribute package:name in
AndroidManifest.xml
payload_fs_type
string, The type of filesystem to use when the payload_type is 'image'. Either 'ext4', 'f2fs'
or 'erofs'. Default 'ext4'.
payload_type
string, The type of APEX to build. Controls what the APEX payload is. Either 'image', 'zip' or
'both'. When set to image, contents are stored in a filesystem image inside a zip
container. When set to zip, contents are stored in a zip container directly. This type is
mostly for host-side debugging. When set to both, the two types are both built. Default
is 'image'.
platform_apis
bool, Whether this APEX can use platform APIs or not. Can be set to true only when `updatable:
false`. Default is false.
prebuilts
list of string, List of prebuilt files that are embedded inside this APEX bundle.
product_specific
bool, whether this module is specific to a software configuration of a product (e.g. country,
network operator, etc). When set to true, it is installed into /product (or
/system/product if product partition does not exist).
⊕product_variables.always_use_prebuilt_sdks
⊕product_variables.debuggable
⊕init_rc
⊕required
⊕host_required
⊕target_required
⊕product_variables.flatten_apex
⊕product_variables.pdk
⊕product_variables.unbundled_build
proprietary
bool, whether this is a proprietary vendor module, and should be installed into /vendor
ramdisk
bool, Whether this module is installed to ramdisk
recovery
bool, Whether this module is installed to recovery partition
required
list of string, names of other modules to install if this module is installed
rros
list of string, List of runtime resource overlays (RROs) that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
sh_binaries
list of string, List of sh binaries that are embedded inside this APEX bundle.
soc_specific
bool, whether this module is specific to an SoC (System-On-a-Chip). When set to true,
it is installed into /vendor (or /system/vendor if vendor partition does not exist).
system_ext_specific
bool, whether this module extends system. When set to true, it is installed into /system_ext
(or /system/system_ext if system_ext partition does not exist).
systemserverclasspath_fragments
list of string, List of systemserverclasspath fragments that are embedded inside this APEX bundle.
target
interface
⊕target.android
compile_multilib
string
⊕multilib.first
ApexNativeDependencies
Native dependencies whose compile_multilib is "first"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.both
ApexNativeDependencies
Native dependencies whose compile_multilib is "both"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.prefer32
ApexNativeDependencies
Native dependencies whose compile_multilib is "prefer32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib32
ApexNativeDependencies
Native dependencies whose compile_multilib is "32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib64
ApexNativeDependencies
Native dependencies whose compile_multilib is "64"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕target.host
compile_multilib
string
⊕multilib.first
ApexNativeDependencies
Native dependencies whose compile_multilib is "first"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.both
ApexNativeDependencies
Native dependencies whose compile_multilib is "both"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.prefer32
ApexNativeDependencies
Native dependencies whose compile_multilib is "prefer32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib32
ApexNativeDependencies
Native dependencies whose compile_multilib is "32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib64
ApexNativeDependencies
Native dependencies whose compile_multilib is "64"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕target.linux_bionic
Multilib properties only for host linux_bionic.
⊕multilib.first
ApexNativeDependencies
Native dependencies whose compile_multilib is "first"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.both
ApexNativeDependencies
Native dependencies whose compile_multilib is "both"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.prefer32
ApexNativeDependencies
Native dependencies whose compile_multilib is "prefer32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib32
ApexNativeDependencies
Native dependencies whose compile_multilib is "32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib64
ApexNativeDependencies
Native dependencies whose compile_multilib is "64"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕target.linux_glibc
Multilib properties only for host linux_glibc.
⊕multilib.first
ApexNativeDependencies
Native dependencies whose compile_multilib is "first"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.both
ApexNativeDependencies
Native dependencies whose compile_multilib is "both"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.prefer32
ApexNativeDependencies
Native dependencies whose compile_multilib is "prefer32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib32
ApexNativeDependencies
Native dependencies whose compile_multilib is "32"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
⊕multilib.lib64
ApexNativeDependencies
Native dependencies whose compile_multilib is "64"
native_shared_libs
list of string, List of native libraries that are embedded inside this APEX.
jni_libs
list of string, List of JNI libraries that are embedded inside this APEX.
rust_dyn_libs
list of string, List of rust dyn libraries that are embedded inside this APEX.
binaries
list of string, List of native executables that are embedded inside this APEX.
tests
list of string, List of native tests that are embedded inside this APEX.
filesystems
list of string, List of filesystem images that are embedded inside this APEX bundle.
exclude_native_shared_libs
list of string, List of native libraries to exclude from this APEX.
exclude_jni_libs
list of string, List of JNI libraries to exclude from this APEX.
exclude_rust_dyn_libs
list of string, List of rust dyn libraries to exclude from this APEX.
exclude_binaries
list of string, List of native executables to exclude from this APEX.
exclude_tests
list of string, List of native tests to exclude from this APEX.
exclude_filesystems
list of string, List of filesystem images to exclude from this APEX bundle.
target_required
list of string, names of other modules to install on target if this module is installed
test_only_force_compression
bool, Whenever apex should be compressed, regardless of product flag used. Should be only
used in tests.
test_only_unsigned_payload
bool, Whenever apex_payload.img of the APEX should not be dm-verity signed. Should be only
used in tests.
tests
list of string, List of native tests that are embedded inside this APEX.
trim_against
string, Trim against a specific Dynamic Common Lib APEX
updatable
bool, Whether this APEX is considered updatable or not. When set to true, this will enforce
additional rules for making sure that the APEX is truly updatable. To be updatable,
min_sdk_version should be set as well. This will also disable the size optimizations like
symlinking to the system libs. Default is true.
use_file_contexts_as_is
bool, By default, file_contexts is amended by force-labelling / and /apex_manifest.pb as system_file
to avoid mistakes. When set as true, no force-labelling.
use_vndk_as_stable
bool, If set true, VNDK libs are considered as stable libs and are not included in this APEX.
Should be only used in non-system apexes (e.g. vendor: true). Default is false.
vendor
bool, whether this module is specific to an SoC (System-On-a-Chip). When set to true,
it is installed into /vendor (or /system/vendor if vendor partition does not exist).
Use `soc_specific` instead for better meaning.
vendor_ramdisk
bool, Whether this module is installed to vendor ramdisk
vintf_fragments
list of string, VINTF manifest fragments to be installed if this module is installed
visibility
list of string, Controls the visibility of this module to other modules. Allowable values are one or more of
these formats:
["//visibility:public"]: Anyone can use this module.
["//visibility:private"]: Only rules in the module's package (not its subpackages) can use
this module.
["//visibility:override"]: Discards any rules inherited from defaults or a creating module.
Can only be used at the beginning of a list of visibility rules.
["//some/package:__pkg__", "//other/package:__pkg__"]: Only modules in some/package and
other/package (defined in some/package/*.bp and other/package/*.bp) have access to
this module. Note that sub-packages do not have access to the rule; for example,
//some/package/foo:bar or //other/package/testing:bla wouldn't have access. __pkg__
is a special module and must be used verbatim. It represents all of the modules in the
package.
["//project:__subpackages__", "//other:__subpackages__"]: Only modules in packages project
or other or in one of their sub-packages have access to this module. For example,
//project:rule, //project/library:lib or //other/testing/internal:munge are allowed
to depend on this rule (but not //independent:evil)
["//project"]: This is shorthand for ["//project:__pkg__"]
[":__subpackages__"]: This is shorthand for ["//project:__subpackages__"] where
//project is the module's package. e.g. using [":__subpackages__"] in
packages/apps/Settings/Android.bp is equivalent to
//packages/apps/Settings:__subpackages__.
["//visibility:legacy_public"]: The default visibility, behaves as //visibility:public
for now. It is an error if it is used in a module.
If a module does not specify the `visibility` property then it uses the
`default_visibility` property of the `package` module in the module's package.
If the `default_visibility` property is not set for the module's package then
it will use the `default_visibility` of its closest ancestor package for which
a `default_visibility` property is specified.
If no `default_visibility` property can be found then the module uses the
global default of `//visibility:legacy_public`.
The `visibility` property has no effect on a defaults module although it does
apply to any non-defaults module that uses it. To set the visibility of a
defaults module, use the `defaults_visibility` property on the defaults module;
not to be confused with the `default_visibility` property on the package module.
See https://android.googlesource.com/platform/build/soong/+/master/README.md#visibility for
more details.
vndk_version
string, Indicates VNDK version of which this VNDK APEX bundles VNDK libs. Default is Platform VNDK Version.
override_apex
override_apex is used to create an apex module based on another apex module by overriding some of
its properties.
name
,
allowed_files
,
apps
,
arch
,
base
,
bazel_module
,
bpfs
,
certificate
,
compile_multilib
,
compressible
,
debug_ramdisk
,
device_specific
,
dist
,
dists
,
enabled
,
host_required
,
init_rc
,
key
,
licenses
,
logging_parent
,
multilib
,
native_bridge_supported
,
overrides
,
owner
,
package_name
,
prebuilts
,
product_specific
,
product_variables.always_use_prebuilt_sdks
,
product_variables.debuggable
,
product_variables.flatten_apex
,
product_variables.pdk
,
product_variables.unbundled_build
,
proprietary
,
ramdisk
,
recovery
,
required
,
soc_specific
,
system_ext_specific
,
target
,
target.android
,
target.host
,
target_required
,
trim_against
,
vendor
,
vendor_ramdisk
,
vintf_fragments
,
visibility
name
string, The name of the module. Must be unique across all modules.
allowed_files
string, A txt file containing list of files that are allowed to be included in this APEX.
apps
list of string, List of APKs that are embedded inside this APEX.
arch
interface
base
string, Name of the base module to be overridden
⊕bazel_module
bazelModuleProperties
In "Bazel mixed build" mode, this represents the Bazel target replacing
this Soong module.
label
string, The label of the Bazel target replacing this Soong module. When run in conversion mode, this
will import the handcrafted build target into the autogenerated file. Note: this may result in
a conflict due to duplicate targets if bp2build_available is also set.
bp2build_available
bool, If true, bp2build will generate the converted Bazel target for this module. Note: this may
cause a conflict due to the duplicate targets if label is also set.
This is a bool pointer to support tristates: true, false, not set.
To opt in a module, set bazel_module: { bp2build_available: true }
To opt out a module, set bazel_module: { bp2build_available: false }
To defer the default setting for the directory, do not set the value.
bpfs
list of string, List of BPF programs inside this APEX bundle.
certificate
string, Specifies the certificate and the private key to sign the zip container of this APEX. If
this is "foo", foo.x509.pem and foo.pk8 under PRODUCT_DEFAULT_DEV_CERTIFICATE are used
as the certificate and the private key, respectively. If this is ":module", then the
certificate and the private key are provided from the android_app_certificate module
named "module".
compile_multilib
string, control whether this module compiles for 32-bit, 64-bit, or both. Possible values
are "32" (compile for 32-bit only), "64" (compile for 64-bit only), "both" (compile for both
architectures), or "first" (compile for 64-bit on a 64-bit platform, and 32-bit on a 32-bit
platform).
compressible
bool, Whether this APEX can be compressed or not. Setting this property to false means this
APEX will never be compressed. When set to true, APEX will be compressed if other
conditions, e.g., target device needs to support APEX compression, are also fulfilled.
Default: false.
debug_ramdisk
bool, Whether this module is installed to debug ramdisk
device_specific
bool, whether this module is specific to a device, not only for SoC, but also for off-chip
peripherals. When set to true, it is installed into /odm (or /vendor/odm if odm partition
does not exist, or /system/vendor/odm if both odm and vendor partitions do not exist).
This implies `soc_specific:true`.
⊕dist
Dist
configuration to distribute output files from this module to the distribution
directory (default: $OUT/dist, configurable with $DIST_DIR)
targets
list of string, Copy the output of this module to the $DIST_DIR when `dist` is specified on the
command line and any of these targets are also on the command line, or otherwise
built
dest
string, The name of the output artifact. This defaults to the basename of the output of
the module.
dir
string, The directory within the dist directory to store the artifact. Defaults to the
top level directory ("").
suffix
string, A suffix to add to the artifact file name (before any extension).
append_artifact_with_product
bool, If true, then the artifact file will be appended with _<product name>. For
example, if the product is coral and the module is an android_app module
of name foo, then the artifact would be foo_coral.apk. If false, there is
no change to the artifact file name.
tag
string, A string tag to select the OutputFiles associated with the tag.
If no tag is specified then it will select the default dist paths provided
by the module type. If a tag of "" is specified then it will return the
default output files provided by the modules, i.e. the result of calling
OutputFiles("").
dists
list of Dist, a list of configurations to distribute output files from this module to the
distribution directory (default: $OUT/dist, configurable with $DIST_DIR)
enabled
bool, emit build rules for this module
Disabling a module should only be done for those modules that cannot be built
in the current environment. Modules that can build in the current environment
but are not usually required (e.g. superceded by a prebuilt) should not be
disabled as that will prevent them from being built by the checkbuild target
and so prevent early detection of changes that have broken those modules.
host_required
list of string, names of other modules to install on host if this module is installed
init_rc
list of string, init.rc files to be installed if this module is installed
key
string, Name of the apex_key module that provides the private key to sign this APEX bundle.
licenses
list of string, Describes the licenses applicable to this module. Must reference license modules.
logging_parent
string, Logging parent value.
multilib
interface
native_bridge_supported
bool, Whether this module is built for non-native architectures (also known as native bridge binary)
overrides
list of string, Names of modules to be overridden. Listed modules can only be other binaries (in Make or
Soong). This does not completely prevent installation of the overridden binaries, but if
both binaries would be installed by default (in PRODUCT_PACKAGES) the other binary will
be removed from PRODUCT_PACKAGES.
owner
string, vendor who owns this module
package_name
string, Apex Container package name. Override value for attribute package:name in
AndroidManifest.xml
prebuilts
list of string, List of prebuilt files that are embedded inside this APEX bundle.
product_specific
bool, whether this module is specific to a software configuration of a product (e.g. country,
network operator, etc). When set to true, it is installed into /product (or
/system/product if product partition does not exist).
⊕product_variables.always_use_prebuilt_sdks
⊕product_variables.debuggable
⊕init_rc
⊕required
⊕host_required
⊕target_required
⊕product_variables.flatten_apex
⊕product_variables.pdk
⊕product_variables.unbundled_build
proprietary
bool, whether this is a proprietary vendor module, and should be installed into /vendor
ramdisk
bool, Whether this module is installed to ramdisk
recovery
bool, Whether this module is installed to recovery partition
required
list of string, names of other modules to install if this module is installed
soc_specific
bool, whether this module is specific to an SoC (System-On-a-Chip). When set to true,
it is installed into /vendor (or /system/vendor if vendor partition does not exist).
system_ext_specific
bool, whether this module extends system. When set to true, it is installed into /system_ext
(or /system/system_ext if system_ext partition does not exist).
target
interface
⊕target.android
⊕target.host
target_required
list of string, names of other modules to install on target if this module is installed
trim_against
string, Trim against a specific Dynamic Common Lib APEX
vendor
bool, whether this module is specific to an SoC (System-On-a-Chip). When set to true,
it is installed into /vendor (or /system/vendor if vendor partition does not exist).
Use `soc_specific` instead for better meaning.
vendor_ramdisk
bool, Whether this module is installed to vendor ramdisk
vintf_fragments
list of string, VINTF manifest fragments to be installed if this module is installed
visibility
list of string, Controls the visibility of this module to other modules. Allowable values are one or more of
these formats:
["//visibility:public"]: Anyone can use this module.
["//visibility:private"]: Only rules in the module's package (not its subpackages) can use
this module.
["//visibility:override"]: Discards any rules inherited from defaults or a creating module.
Can only be used at the beginning of a list of visibility rules.
["//some/package:__pkg__", "//other/package:__pkg__"]: Only modules in some/package and
other/package (defined in some/package/*.bp and other/package/*.bp) have access to
this module. Note that sub-packages do not have access to the rule; for example,
//some/package/foo:bar or //other/package/testing:bla wouldn't have access. __pkg__
is a special module and must be used verbatim. It represents all of the modules in the
package.
["//project:__subpackages__", "//other:__subpackages__"]: Only modules in packages project
or other or in one of their sub-packages have access to this module. For example,
//project:rule, //project/library:lib or //other/testing/internal:munge are allowed
to depend on this rule (but not //independent:evil)
["//project"]: This is shorthand for ["//project:__pkg__"]
[":__subpackages__"]: This is shorthand for ["//project:__subpackages__"] where
//project is the module's package. e.g. using [":__subpackages__"] in
packages/apps/Settings/Android.bp is equivalent to
//packages/apps/Settings:__subpackages__.
["//visibility:legacy_public"]: The default visibility, behaves as //visibility:public
for now. It is an error if it is used in a module.
If a module does not specify the `visibility` property then it uses the
`default_visibility` property of the `package` module in the module's package.
If the `default_visibility` property is not set for the module's package then
it will use the `default_visibility` of its closest ancestor package for which
a `default_visibility` property is specified.
If no `default_visibility` property can be found then the module uses the
global default of `//visibility:legacy_public`.
The `visibility` property has no effect on a defaults module although it does
apply to any non-defaults module that uses it. To set the visibility of a
defaults module, use the `defaults_visibility` property on the defaults module;
not to be confused with the `default_visibility` property on the package module.
See https://android.googlesource.com/platform/build/soong/+/master/README.md#visibility for
more details.
prebuilt_apex
prebuilt_apex imports an `.apex` file into the build graph as if it was built with apex.
name
,
src
,
apex_name
,
arch
,
arch.arm
,
arch.arm64
,
arch.riscv64
,
arch.x86
,
arch.x86_64
,
compile_multilib
,
debug_ramdisk
,
device_specific
,
dist
,
dists
,
enabled
,
exported_bootclasspath_fragments
,
exported_java_libs
,
exported_systemserverclasspath_fragments
,
filename
,
host_required
,
init_rc
,
installable
,
licenses
,
multilib
,
native_bridge_supported
,
overrides
,
owner
,
prefer
,
product_specific
,
product_variables.always_use_prebuilt_sdks
,
product_variables.debuggable
,
product_variables.flatten_apex
,
product_variables.native_coverage
,
product_variables.pdk
,
product_variables.unbundled_build
,
proprietary
,
ramdisk
,
recovery
,
required
,
soc_specific
,
system_ext_specific
,
target
,
target.android
,
target.host
,
target_required
,
use_source_config_var
,
vendor
,
vendor_ramdisk
,
vintf_fragments
,
visibility
name
string, The name of the module. Must be unique across all modules.
src
string, the path to the prebuilt .apex file to import.
This cannot be marked as `android:"arch_variant"` because the `prebuilt_apex` is only mutated
for android_common. That is so that it will have the same arch variant as, and so be compatible
with, the source `apex` module type that it replaces.
apex_name
string, Canonical name of this APEX. Used to determine the path to the activated APEX on
device (/apex/<apex_name>). If unspecified, follows the name property.
arch
interface
⊕arch.arm
⊕arch.arm64
⊕arch.riscv64
⊕arch.x86
⊕arch.x86_64
compile_multilib
string, control whether this module compiles for 32-bit, 64-bit, or both. Possible values
are "32" (compile for 32-bit only), "64" (compile for 64-bit only), "both" (compile for both
architectures), or "first" (compile for 64-bit on a 64-bit platform, and 32-bit on a 32-bit
platform).
debug_ramdisk
bool, Whether this module is installed to debug ramdisk
device_specific
bool, whether this module is specific to a device, not only for SoC, but also for off-chip
peripherals. When set to true, it is installed into /odm (or /vendor/odm if odm partition
does not exist, or /system/vendor/odm if both odm and vendor partitions do not exist).
This implies `soc_specific:true`.
⊕dist
Dist
configuration to distribute output files from this module to the distribution
directory (default: $OUT/dist, configurable with $DIST_DIR)
targets
list of string, Copy the output of this module to the $DIST_DIR when `dist` is specified on the
command line and any of these targets are also on the command line, or otherwise
built
dest
string, The name of the output artifact. This defaults to the basename of the output of
the module.
dir
string, The directory within the dist directory to store the artifact. Defaults to the
top level directory ("").
suffix
string, A suffix to add to the artifact file name (before any extension).
append_artifact_with_product
bool, If true, then the artifact file will be appended with _<product name>. For
example, if the product is coral and the module is an android_app module
of name foo, then the artifact would be foo_coral.apk. If false, there is
no change to the artifact file name.
tag
string, A string tag to select the OutputFiles associated with the tag.
If no tag is specified then it will select the default dist paths provided
by the module type. If a tag of "" is specified then it will return the
default output files provided by the modules, i.e. the result of calling
OutputFiles("").
dists
list of Dist, a list of configurations to distribute output files from this module to the
distribution directory (default: $OUT/dist, configurable with $DIST_DIR)
enabled
bool, emit build rules for this module
Disabling a module should only be done for those modules that cannot be built
in the current environment. Modules that can build in the current environment
but are not usually required (e.g. superceded by a prebuilt) should not be
disabled as that will prevent them from being built by the checkbuild target
and so prevent early detection of changes that have broken those modules.
exported_bootclasspath_fragments
list of string, List of bootclasspath fragments inside this prebuilt APEX bundle and for which this APEX
bundle will create an APEX variant.
exported_java_libs
list of string, List of java libraries that are embedded inside this prebuilt APEX bundle and for which this
APEX bundle will create an APEX variant and provide dex implementation jars for use by
dexpreopt and boot jars package check.
exported_systemserverclasspath_fragments
list of string, List of systemserverclasspath fragments inside this prebuilt APEX bundle and for which this
APEX bundle will create an APEX variant.
filename
string, optional name for the installed apex. If unspecified, name of the
module is used as the file name
host_required
list of string, names of other modules to install on host if this module is installed
init_rc
list of string, init.rc files to be installed if this module is installed
installable
bool, whether the extracted apex file is installable.
licenses
list of string, Describes the licenses applicable to this module. Must reference license modules.
multilib
interface
native_bridge_supported
bool, Whether this module is built for non-native architectures (also known as native bridge binary)
overrides
list of string, names of modules to be overridden. Listed modules can only be other binaries
(in Make or Soong).
This does not completely prevent installation of the overridden binaries, but if both
binaries would be installed by default (in PRODUCT_PACKAGES) the other binary will be removed
from PRODUCT_PACKAGES.
owner
string, vendor who owns this module
prefer
bool, When prefer is set to true the prebuilt will be used instead of any source module with
a matching name.
product_specific
bool, whether this module is specific to a software configuration of a product (e.g. country,
network operator, etc). When set to true, it is installed into /product (or
/system/product if product partition does not exist).
⊕product_variables.always_use_prebuilt_sdks
⊕product_variables.debuggable
⊕init_rc
⊕required
⊕host_required
⊕target_required
⊕product_variables.flatten_apex
⊕product_variables.native_coverage
⊕product_variables.pdk
⊕product_variables.unbundled_build
proprietary
bool, whether this is a proprietary vendor module, and should be installed into /vendor
ramdisk
bool, Whether this module is installed to ramdisk
recovery
bool, Whether this module is installed to recovery partition
required
list of string, names of other modules to install if this module is installed
soc_specific
bool, whether this module is specific to an SoC (System-On-a-Chip). When set to true,
it is installed into /vendor (or /system/vendor if vendor partition does not exist).
system_ext_specific
bool, whether this module extends system. When set to true, it is installed into /system_ext
(or /system/system_ext if system_ext partition does not exist).
target
interface
⊕target.android
⊕target.host
target_required
list of string, names of other modules to install on target if this module is installed
use_source_config_var
ConfigVarProperties, When specified this names a Soong config variable that controls the prefer property.
If the value of the named Soong config variable is true then prefer is set to false and vice
versa. If the Soong config variable is not set then it defaults to false, so prefer defaults
to true.
If specified then the prefer property is ignored in favor of the value of the Soong config
variable.
vendor
bool, whether this module is specific to an SoC (System-On-a-Chip). When set to true,
it is installed into /vendor (or /system/vendor if vendor partition does not exist).
Use `soc_specific` instead for better meaning.
vendor_ramdisk
bool, Whether this module is installed to vendor ramdisk
vintf_fragments
list of string, VINTF manifest fragments to be installed if this module is installed
visibility
list of string, Controls the visibility of this module to other modules. Allowable values are one or more of
these formats:
["//visibility:public"]: Anyone can use this module.
["//visibility:private"]: Only rules in the module's package (not its subpackages) can use
this module.
["//visibility:override"]: Discards any rules inherited from defaults or a creating module.
Can only be used at the beginning of a list of visibility rules.
["//some/package:__pkg__", "//other/package:__pkg__"]: Only modules in some/package and
other/package (defined in some/package/*.bp and other/package/*.bp) have access to
this module. Note that sub-packages do not have access to the rule; for example,
//some/package/foo:bar or //other/package/testing:bla wouldn't have access. __pkg__
is a special module and must be used verbatim. It represents all of the modules in the
package.
["//project:__subpackages__", "//other:__subpackages__"]: Only modules in packages project
or other or in one of their sub-packages have access to this module. For example,
//project:rule, //project/library:lib or //other/testing/internal:munge are allowed
to depend on this rule (but not //independent:evil)
["//project"]: This is shorthand for ["//project:__pkg__"]
[":__subpackages__"]: This is shorthand for ["//project:__subpackages__"] where
//project is the module's package. e.g. using [":__subpackages__"] in
packages/apps/Settings/Android.bp is equivalent to
//packages/apps/Settings:__subpackages__.
["//visibility:legacy_public"]: The default visibility, behaves as //visibility:public
for now. It is an error if it is used in a module.
If a module does not specify the `visibility` property then it uses the
`default_visibility` property of the `package` module in the module's package.
If the `default_visibility` property is not set for the module's package then
it will use the `default_visibility` of its closest ancestor package for which
a `default_visibility` property is specified.
If no `default_visibility` property can be found then the module uses the
global default of `//visibility:legacy_public`.
The `visibility` property has no effect on a defaults module although it does
apply to any non-defaults module that uses it. To set the visibility of a
defaults module, use the `defaults_visibility` property on the defaults module;
not to be confused with the `default_visibility` property on the package module.
See https://android.googlesource.com/platform/build/soong/+/master/README.md#visibility for
more details.