| Interface | Description | 
|---|---|
| AndroidGraphEnhancerArgs | |
| AndroidKotlinCoreArg | |
| AndroidLibraryCompilerFactory | Factory providing implementations of  ConfiguredCompilerFactoryfor the specifiedlanguage. | 
| AndroidLibraryDescription.CoreArg | |
| AndroidLinkableMetadata | Information needed to determine the correct placement of native linkables in an android apk | 
| AndroidManifestReader | Allows querying an Android manifest file for various types of information. | 
| AndroidNativeTargetConfigurationMatcher | Encapsulates logic to check whether platform in configuration of a given target matches the CPU
 type. | 
| DexWithClasses | Object that represents a  .dex.jarfile that knows what.classfiles went into it,
 as well as its estimated dex weight. | 
| FilteredResourcesProvider | |
| FilterResourcesSteps.DrawableFinder | |
| FilterResourcesSteps.ImageScaler | |
| HasAndroidResourceDeps | Indicates that this class may have android resources that should be packaged into an APK. | 
| HasDexFiles | |
| HasDuplicateAndroidResourceTypes | |
| HasExopackageArgs | |
| HasInstallableApk | Build rule that generates an APK that can be installed with the install command. | 
| NativeLibraryBuildRule | BuildRulethat contains various.sofiles for Android, organized by target CPU
 architecture. | 
| SmartDexingStep.DexInputHashesProvider | |
| UnsortedAndroidResourceDeps.Callback | 
| Class | Description | 
|---|---|
| AabBuilderStep | Merges resources into a final Android App Bundle using bundletool. | 
| Aapt2Compile | Perform the "aapt2 compile" step of a single Android resource. | 
| Aapt2Link | Perform the "aapt2 link" step of building an Android app. | 
| AaptPackageResources | Packages the resources using  aapt. | 
| AaptStep | Runs the Android Asset Packaging Tool ( aapt), which creates an.apkfile. | 
| AdbHelper | Helper for executing commands over ADB, especially for multiple devices. | 
| AidlStep | |
| AndroidAar | |
| AndroidAarDescription | Description for a  BuildRulethat generates an.aarfile. | 
| AndroidAarDescriptionArg | Immutable implementation of  AndroidAarDescription.AbstractAndroidAarDescriptionArg. | 
| AndroidAarDescriptionArg.Builder | Builds instances of type  AndroidAarDescriptionArg. | 
| AndroidApkBuildable | The class is responsible to create unoptimized apk through  ApkBuilderStep. | 
| AndroidApkOptimizer | The class executes all binary steps responsible for optimizing apk specific components. | 
| AndroidAppModularity | |
| AndroidAppModularityDescription | |
| AndroidAppModularityDescriptionArg | Immutable implementation of  AndroidAppModularityDescription.AbstractAndroidAppModularityDescriptionArg. | 
| AndroidAppModularityDescriptionArg.Builder | Builds instances of type  AndroidAppModularityDescriptionArg. | 
| AndroidAppModularityGraphEnhancer | |
| AndroidAppModularityVerification | |
| AndroidBinary | 
 android_binary(
   name = 'messenger',
   manifest = 'AndroidManifest.xml',
   deps = [
     '//src/com/facebook/messenger:messenger_library',
   ],
 ) | 
| AndroidBinaryDescription | |
| AndroidBinaryDescriptionArg | Immutable implementation of  AndroidBinaryDescription.AbstractAndroidBinaryDescriptionArg. | 
| AndroidBinaryDescriptionArg.Builder | Builds instances of type  AndroidBinaryDescriptionArg. | 
| AndroidBinaryExopackageSymlinkTree | Create an exopackage symlink tree for Android binaries rules | 
| AndroidBinaryFactory | |
| AndroidBinaryFilesInfo | |
| AndroidBinaryGraphEnhancer | |
| AndroidBinaryGraphEnhancerFactory | |
| AndroidBinaryNonExoInstaller | Installs a non-exopackage apk. | 
| AndroidBinaryOptimizer | The class executes all common binary steps responsible for optimizing aab/apk. | 
| AndroidBinaryPathUtility | Utility class to resolve path conflicts in aab/apk. | 
| AndroidBuckConfig | |
| AndroidBuildConfig | BuildRulethat can generate aBuildConfig.javafile and compile it so it can be
 used as a Java library. | 
| AndroidBuildConfigDescription | |
| AndroidBuildConfigDescriptionArg | Immutable implementation of  AndroidBuildConfigDescription.AbstractAndroidBuildConfigDescriptionArg. | 
| AndroidBuildConfigDescriptionArg.Builder | Builds instances of type  AndroidBuildConfigDescriptionArg. | 
| AndroidBundle | 
 android_bundle(
   name = 'messenger',
   manifest = 'AndroidManifest.xml',
   deps = [
     '//src/com/facebook/messenger:messenger_library',
   ],
 ) | 
| AndroidBundleBuildable | The class is responsible to create final bundle by taking individual module information and
 passing to  Config.BundletoolthroughAabBuilderStep. | 
| AndroidBundleDescription | |
| AndroidBundleDescriptionArg | Immutable implementation of  AndroidBundleDescription.AbstractAndroidBundleDescriptionArg. | 
| AndroidBundleDescriptionArg.Builder | Builds instances of type  AndroidBundleDescriptionArg. | 
| AndroidBundleFactory | |
| AndroidBundleOptimizer | The class executes all binary steps responsible for optimizing aab specific components. | 
| AndroidClasspathProvider | |
| AndroidDescriptionsProvider | |
| AndroidInstallConfig | |
| AndroidInstrumentationApk | Apk that functions as a test package in Android. | 
| AndroidInstrumentationApkDescription | |
| AndroidInstrumentationApkDescriptionArg | Immutable implementation of  AndroidInstrumentationApkDescription.AbstractAndroidInstrumentationApkDescriptionArg. | 
| AndroidInstrumentationApkDescriptionArg.Builder | Builds instances of type  AndroidInstrumentationApkDescriptionArg. | 
| AndroidInstrumentationTest | |
| AndroidInstrumentationTestDescription | |
| AndroidInstrumentationTestDescriptionArg | Immutable implementation of  AndroidInstrumentationTestDescription.AbstractAndroidInstrumentationTestDescriptionArg. | 
| AndroidInstrumentationTestDescriptionArg.Builder | Builds instances of type  AndroidInstrumentationTestDescriptionArg. | 
| AndroidLibrary | |
| AndroidLibrary.Builder | |
| AndroidLibraryDescription | |
| AndroidLibraryDescriptionArg | Immutable implementation of  AndroidLibraryDescription.AbstractAndroidLibraryDescriptionArg. | 
| AndroidLibraryDescriptionArg.Builder | Builds instances of type  AndroidLibraryDescriptionArg. | 
| AndroidLibraryGraphEnhancer | |
| AndroidManifest | AndroidManifestis aBuildRulethat can generate an Android manifest from a
 skeleton manifest and the library manifests from its dependencies. | 
| AndroidManifestDescription | |
| AndroidManifestDescriptionArg | Immutable implementation of  AndroidManifestDescription.AbstractAndroidManifestDescriptionArg. | 
| AndroidManifestDescriptionArg.Builder | Builds instances of type  AndroidManifestDescriptionArg. | 
| AndroidManifestFactory | |
| AndroidModuleConsistencyStep | |
| AndroidNativeLibsPackageableGraphEnhancer | |
| AndroidPrebuiltAar | |
| AndroidPrebuiltAarDescription | Description for a  BuildRulethat wraps an.aarfile as an Android dependency. | 
| AndroidPrebuiltAarDescriptionArg | Immutable implementation of  AndroidPrebuiltAarDescription.AbstractAndroidPrebuiltAarDescriptionArg. | 
| AndroidPrebuiltAarDescriptionArg.Builder | Builds instances of type  AndroidPrebuiltAarDescriptionArg. | 
| AndroidResource | An object that represents the resources of an android library. | 
| AndroidResourceDescription | |
| AndroidResourceDescriptionArg | Immutable implementation of  AndroidResourceDescription.AbstractAndroidResourceDescriptionArg. | 
| AndroidResourceDescriptionArg.Builder | Builds instances of type  AndroidResourceDescriptionArg. | 
| AndroidResourceHelper | |
| AndroidResourceIndex | |
| AndroidTransitiveDependencyGraph | |
| ApkBuilderStep | Merges resources into a final APK. | 
| ApkGenrule | A specialization of a genrule that specifically allows the modification of apks. | 
| ApkGenruleDescription | |
| ApkGenruleDescriptionArg | Immutable implementation of  ApkGenruleDescription.AbstractApkGenruleDescriptionArg. | 
| ApkGenruleDescriptionArg.Builder | Builds instances of type  ApkGenruleDescriptionArg. | 
| ApkInstallStep | |
| AppBuilderBase | A class that provides information that are shared across AabBuilder and ApkBuilder, currently
 only private key and certificate are needed | 
| AppBuilderBase.PrivateKeyAndCertificate | |
| AppModularityMetadataUtil | |
| AssembleDirectories | |
| BuckEventAndroidLogger | Implementation of  ILoggerwhich posts to anBuckEventBus | 
| BuildConfigs | Utilities for generating a  BuildConfig.javafile for Android. | 
| ClassNameFilter | Filter for internal class names. | 
| CompileStringsStep | This  Steptakes a list of string resource files (strings.xml), groups them by locales,
 and for each locale generates a file with all the string resources for that locale. | 
| ConcatStep | Takes in a list of files and outputs a concatenation of them in the same directory. | 
| ConstraintBasedAndroidNativeTargetConfigurationMatcher | Matcher that uses constraints to figure out whether platform in target configuration matches the
 CPU type. | 
| CopyNativeLibraries | A  BuildRulethat gathers shared objects generated byndk_libraryandprebuilt_native_libraryrules into a directory. | 
| CopyNativeLibraries.StrippedObjectDescription | |
| DefaultAndroidLibraryCompilerFactory | |
| DefaultAndroidManifestReader | |
| DexProducedFromJavaLibrary | DexProducedFromJavaLibraryis aBuildRulethat serves a very specific purpose: it
 takes aJavaLibraryand dexes the output of theJavaLibraryif its list of
 classes is non-empty. | 
| DummyRDotJava | Buildable that takes in a list of  HasAndroidResourceDepsand for each of these rules,
 first creates anR.javafile usingMergeAndroidResourcesStepand compiles it to
 generate a correspondingR.classfile. | 
| DxConfig | |
| DxStep | |
| ExopackageArgsHelper | |
| ExopackageDeviceDirectoryLister | This lists the entire contents of the exopackage installation directory on the requested devices. | 
| ExopackageFilesInstaller | Installs exopackage files to the device/devices. | 
| ExopackageInstallFinisher | Finishes exopackage installation by:
 updating the metadata.txt files for the different exopackage types
 deleting unwanted files (.so/.dex/.apk from previous installs)
 installing the apk
 killing the app/process | 
| ExopackageResourcesInstaller | Installs exopackage resource files to the device/devices. | 
| ExtractFromAndroidManifestStep | |
| FilterResourcesSteps | This  Stepcopiesresdirectories to a different location,
 while filtering out certain resources. | 
| FilterResourcesSteps.Builder | |
| FilterResourcesSteps.DefaultDrawableFinder | |
| FilterResourcesSteps.ResourceFilter | Helper class for interpreting the resource_filter argument to android_binary(). | 
| GenAidl | Buildable for generating a .java file from an .aidl file. | 
| GenAidlDescription | |
| GenAidlDescriptionArg | Immutable implementation of  GenAidlDescription.AbstractGenAidlDescriptionArg. | 
| GenAidlDescriptionArg.Builder | Builds instances of type  GenAidlDescriptionArg. | 
| GenerateBuildConfigStep | |
| GenerateManifestStep | |
| GenerateRDotJava | |
| GenerateStringResources | Copy filtered string resources (values/strings.xml) files to output directory. | 
| GetStringsFilesStep | Generates a list of strings.xml files | 
| HashInputJarsToDexStep | Step responsible for hashing dex inputs to be passed to  SmartDexingStep. | 
| HasInstallableApk.ApkInfo | |
| IdentityResourcesProvider | |
| InstrumentationStep | |
| IntraDexReorderStep | Runs a user supplied reordering tool on all dexes. | 
| KeystoreProperties | |
| MergeAndroidResourcesStep | |
| MergeAssets | MergeAssets adds the assets for an APK into the output of aapt. | 
| MergeThirdPartyJarResources | Merges resources from third party jars for exo-for-resources. | 
| ModuleInfo | |
| NativeFilesInfo | |
| NativeLibraryProguardGenerator | This provides a way for android_binary rules to generate proguard config based on the | 
| NdkBuildStep | |
| NdkLibrary | An object that represents a collection of Android NDK source code. | 
| NdkLibraryDescription | Deprecated | 
| NdkLibraryDescriptionArg | Immutable implementation of  NdkLibraryDescription.AbstractNdkLibraryDescriptionArg. | 
| NdkLibraryDescriptionArg.Builder | Builds instances of type  NdkLibraryDescriptionArg. | 
| NdkToolchainBuildRule | This  BuildRuleis just a placeholder to hold the createdNdkCxxPlatform. | 
| NdkToolchainDescription | Defines an ndk_toolchain rule that allows a  NdkCxxPlatformto be configured as a build
 target. | 
| NdkToolchainDescriptionArg | An ndk_toolchain is mostly just a cxx_toolchain and a few other fields. | 
| NdkToolchainDescriptionArg.Builder | Builds instances of type  NdkToolchainDescriptionArg. | 
| NoDxArgsHelper | |
| NoopAndroidNativeTargetConfigurationMatcher | An implementation that doesn't perform any calculations and always matches targets. | 
| PackagedResource | Represents a zip that has been packaged as a resource with Buck, but which should be expanded at
 most once during Buck's execution (not per-build). | 
| PackageStringAssets | Buildable responsible for compiling non-english string resources to  .fbstrfiles stored
 as assets. | 
| PrebuiltNativeLibrary | An object that represents the resources prebuilt native library. | 
| PrebuiltNativeLibraryDescription | |
| PrebuiltNativeLibraryDescriptionArg | Immutable implementation of  PrebuiltNativeLibraryDescription.AbstractPrebuiltNativeLibraryDescriptionArg. | 
| PrebuiltNativeLibraryDescriptionArg.Builder | Builds instances of type  PrebuiltNativeLibraryDescriptionArg. | 
| PreDexedFilesSorter | Responsible for bucketing pre-dexed objects into primary and secondary dex files. | 
| PreDexedFilesSorter.Result | |
| PreDexMerge | Buildable that is responsible for:
 
   Bucketing pre-dexed jars into lists for primary and secondary dex files (if the app is
       split-dex). | 
| PreDexSingleDexMerge | Constructs a single merged dex file from pre-dexed inputs | 
| PreDexSplitDexGroup | Takes a subset of the predexed libraries (for a single APKModule) and produces copies of the
 predexed libraries to be merged into the primary dex, and a set of secondary dexes, capped at the
 dex weight limit. | 
| PreDexSplitDexMerge | This is the top level rule responsible for producing multiple dexes for an apk from predexed
 library rules. | 
| ProGuardConfig | |
| ProguardMapping | Parser for ProGuard-generated mapping files. | 
| ProGuardObfuscateStep | |
| RedexArgsHelper | |
| ReplaceManifestPlaceholdersStep | Replaces placeholders in the android manifest. | 
| ResourceFilesInfo | |
| ResourceFilters | |
| ResourceFilters.Qualifiers | |
| ResourcesFilter | Buildable that is responsible for taking a set of res/ directories and applying an optional
 resource filter to them, ultimately generating the final set of res/ directories whose contents
 should be included in an APK. | 
| ResourcesFilter.BuildOutput | |
| RobolectricTest | |
| RobolectricTestDescription | |
| RobolectricTestDescriptionArg | Immutable implementation of  RobolectricTestDescription.AbstractRobolectricTestDescriptionArg. | 
| RobolectricTestDescriptionArg.Builder | Builds instances of type  RobolectricTestDescriptionArg. | 
| RobolectricTestX | The new Robolectric Test rule that uses the test protocol to run. | 
| SmartDexingStep | Optimized dx command runner which can invoke multiple dx commands in parallel and also avoid
 doing unnecessary dx invocations in the first place. | 
| SplitResources | |
| SplitUberRDotJavaJar | Split a jar generated by compiling uber-R.java files into subset jars. | 
| SplitZipStep | Split zipping tool designed to divide input code blobs into a set of output jar files such that
 none will exceed the DexOpt LinearAlloc limit or the dx method limit when passed through dx
 --dex. | 
| StringResources | Represents string resources of types string, plural and array for a locale. | 
| StripLinkable | A BuildRule for stripping (removing inessential information from executable binary programs and
 object files) binaries. | 
| StripStep | Run strip on a binary. | 
| UnitTestOptions | Creates a "test_config.properties" file to be included for additional configuration during
 Android unit tests | 
| UnsortedAndroidResourceDeps | |
| UnstrippedNativeLibraries | |
| UnzipAar | |
| WriteAppModuleMetadataStep | |
| WriteFileHashCode | Computes the hash of a file and writes it as the output. | 
| ZipalignStep | 
| Enum | Description | 
|---|---|
| AndroidBuckConfig.NdkSearchOrderEntry | Values acceptable for ndk.ndk_search_order. | 
| AndroidInstallConfig.ConcurrentInstall | |
| AndroidLibraryDescription.JvmLanguage | |
| BinaryType | Supported android binary types | 
| CompressionAlgorithm | Assets in the apks (e.g. | 
| DxStep.Option | Options to pass to  dx. | 
| HasDuplicateAndroidResourceTypes.DuplicateResourceBehaviour | |
| ResourceFilters.Density | Represents the names and values of valid densities for resources as defined in
 http://developer.android.com/guide/topics/resources/providing-resources.html#DensityQualifier | 
| Exception | Description | 
|---|---|
| AdbHelper.CommandFailedException | An exception that indicates that an executed command returned an unsuccessful exit code. | 
| MergeAndroidResourcesStep.DuplicateResourceException |