public class FeatureExtension extends LibraryExtension
android extension for com.android.feature projects.
Creating feature modules is useful when you want to build Android Instant Apps. To learn more about creating feature modules, read Structure of an instant app with multiple features.
logger, project| Constructor and Description |
|---|
FeatureExtension(org.gradle.api.Project project,
ProjectOptions projectOptions,
com.android.builder.core.AndroidBuilder androidBuilder,
com.android.build.gradle.internal.SdkHandler sdkHandler,
org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.internal.dsl.BuildType> buildTypes,
org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.internal.dsl.ProductFlavor> productFlavors,
org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.internal.dsl.SigningConfig> signingConfigs,
org.gradle.api.NamedDomainObjectContainer<BaseVariantOutput> buildOutputs,
com.android.build.gradle.internal.dependency.SourceSetManager sourceSetManager,
com.android.build.gradle.internal.ExtraModelInfo extraModelInfo) |
| Modifier and Type | Method and Description |
|---|---|
void |
addVariant(BaseVariant variant) |
void |
baseFeature(boolean value) |
void |
bundle(org.gradle.api.Action<com.android.build.gradle.internal.dsl.BundleOptions> action) |
java.lang.Boolean |
getBaseFeature()
Specifies whether this module is the base feature for an Android Instant App
project.
|
com.android.build.gradle.internal.dsl.BundleOptions |
getBundle() |
org.gradle.api.internal.DefaultDomainObjectSet<FeatureVariant> |
getFeatureVariants()
Returns a collection of the Android feature build variants.
|
void |
setBaseFeature(boolean value) |
aidlPackageWhiteList, getAidlPackageWhiteList, getLibraryVariants, getPackageBuildConfig, packageBuildConfig, setAidlPackageWhiteList, setPackageBuildConfigaddTestVariant, addUnitTestVariant, getTestBuildType, getTestVariants, getUnitTestVariants, setTestBuildTypeaaptOptions, adbOptions, buildToolsVersion, buildTypes, checkWritability, compileOptions, compileSdkVersion, compileSdkVersion, dataBinding, defaultConfig, defaultPublishConfig, deviceProvider, dexOptions, disableWrite, externalNativeBuild, flavorDimensions, generatePureSplits, getAaptOptions, getAdbExe, getAdbExecutable, getAdbOptions, getBootClasspath, getBuildOutputs, getBuildToolsRevision, getBuildToolsVersion, getBuildTypes, getCompileOptions, getCompileSdkVersion, getDataBinding, getDefaultConfig, getDefaultProguardFile, getDefaultPublishConfig, getDeviceProviders, getDexOptions, getExternalNativeBuild, getFlavorDimensionList, getGeneratePureSplits, getJacoco, getLibraryRequests, getLintOptions, getNdkDirectory, getNdkVersion, getPackagingOptions, getProductFlavors, getResourcePrefix, getSdkDirectory, getSigningConfigs, getSourceSets, getSplits, getTestOptions, getTestServers, getTransforms, getTransformsDependencies, getVariantFilter, jacoco, lintOptions, packagingOptions, productFlavors, registerArtifactType, registerBuildTypeSourceProvider, registerJavaArtifact, registerMultiFlavorSourceProvider, registerProductFlavorSourceProvider, registerTransform, resourcePrefix, setBuildToolsVersion, setCompileSdkVersion, setCompileSdkVersion, setDefaultPublishConfig, setGeneratePureSplits, setNdkVersion, setPublishNonDefault, setVariantFilter, signingConfigs, sourceSets, splits, testOptions, testServer, useLibrary, useLibrary, variantFilter, wrapJavaSourceSetclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetAaptOptions, getAdbOptions, getBuildOutputs, getBuildToolsRevision, getBuildToolsVersion, getBuildTypes, getCompileOptions, getCompileSdkVersion, getDataBinding, getDefaultConfig, getDefaultPublishConfig, getDeviceProviders, getDexOptions, getExternalNativeBuild, getFlavorDimensionList, getGeneratePureSplits, getJacoco, getLibraryRequests, getLintOptions, getNdkVersion, getPackagingOptions, getProductFlavors, getResourcePrefix, getSigningConfigs, getSourceSets, getSplits, getTestOptions, getTestServers, getTransforms, getTransformsDependencies, getVariantFilterpublic FeatureExtension(@NonNull
org.gradle.api.Project project,
@NonNull
ProjectOptions projectOptions,
@NonNull
com.android.builder.core.AndroidBuilder androidBuilder,
@NonNull
com.android.build.gradle.internal.SdkHandler sdkHandler,
@NonNull
org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.internal.dsl.BuildType> buildTypes,
@NonNull
org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.internal.dsl.ProductFlavor> productFlavors,
@NonNull
org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.internal.dsl.SigningConfig> signingConfigs,
@NonNull
org.gradle.api.NamedDomainObjectContainer<BaseVariantOutput> buildOutputs,
@NonNull
com.android.build.gradle.internal.dependency.SourceSetManager sourceSetManager,
@NonNull
com.android.build.gradle.internal.ExtraModelInfo extraModelInfo)
public org.gradle.api.internal.DefaultDomainObjectSet<FeatureVariant> getFeatureVariants()
To process elements in this collection, you should use the
all iterator. That's because the plugin populates this collection only after
the project is evaluated. Unlike the each iterator, using all
processes future elements as the plugin creates them.
The following sample iterates through all featureVariants elements at
execution to inject a
build variable into the manifest:
android.featureVariants.all { variant ->
def mergedFlavor = variant.getMergedFlavor()
// Defines the value of a build variable you can use in the manifest.
mergedFlavor.manifestPlaceholders = [hostName:"www.example.com"]
}
public void addVariant(BaseVariant variant)
addVariant in class LibraryExtensionpublic void baseFeature(boolean value)
public void setBaseFeature(boolean value)
public java.lang.Boolean getBaseFeature()
To learn more about creating feature modules, including the base feature module, read Structure of an instant app with multiple features.
By deafult, this property is set to false.
getBaseFeature in interface AndroidConfiggetBaseFeature in class BaseExtensionpublic void bundle(org.gradle.api.Action<com.android.build.gradle.internal.dsl.BundleOptions> action)
public com.android.build.gradle.internal.dsl.BundleOptions getBundle()