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,
com.android.build.gradle.options.ProjectOptions projectOptions,
org.gradle.internal.reflect.Instantiator instantiator,
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<com.android.build.gradle.api.BaseVariantOutput> buildOutputs,
com.android.build.gradle.internal.ExtraModelInfo extraModelInfo) |
Modifier and Type | Method and Description |
---|---|
void |
addVariant(com.android.build.gradle.api.BaseVariant variant) |
void |
baseFeature(boolean value) |
java.lang.Boolean |
getBaseFeature()
Specifies whether this module is the base feature for an Android Instant App
project.
|
org.gradle.api.internal.DefaultDomainObjectSet<com.android.build.gradle.api.FeatureVariant> |
getFeatureVariants()
Returns a collection of the Android feature build variants.
|
void |
setBaseFeature(boolean value) |
aidlPackageWhiteList, getAidlPackageWhiteList, getLibraryVariants, getPackageBuildConfig, packageBuildConfig, setAidlPackageWhiteList, setPackageBuildConfig
addTestVariant, addUnitTestVariant, getTestBuildType, getTestVariants, getUnitTestVariants, setTestBuildType
aaptOptions, 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, 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, setPublishNonDefault, setVariantFilter, signingConfigs, sourceSets, splits, testOptions, testServer, useLibrary, useLibrary, variantFilter, wrapJavaSourceSet
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getAaptOptions, getAdbOptions, getBuildOutputs, getBuildToolsRevision, getBuildToolsVersion, getBuildTypes, getCompileOptions, getCompileSdkVersion, getDataBinding, getDefaultConfig, getDefaultPublishConfig, getDeviceProviders, getDexOptions, getExternalNativeBuild, getFlavorDimensionList, getGeneratePureSplits, getJacoco, getLibraryRequests, getLintOptions, getPackagingOptions, getProductFlavors, getResourcePrefix, getSigningConfigs, getSourceSets, getSplits, getTestOptions, getTestServers, getTransforms, getTransformsDependencies, getVariantFilter
public FeatureExtension(@NonNull org.gradle.api.Project project, @NonNull com.android.build.gradle.options.ProjectOptions projectOptions, @NonNull org.gradle.internal.reflect.Instantiator instantiator, @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<com.android.build.gradle.api.BaseVariantOutput> buildOutputs, @NonNull com.android.build.gradle.internal.ExtraModelInfo extraModelInfo)
public org.gradle.api.internal.DefaultDomainObjectSet<com.android.build.gradle.api.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(com.android.build.gradle.api.BaseVariant variant)
addVariant
in class LibraryExtension
public 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 com.android.build.gradle.AndroidConfig
getBaseFeature
in class BaseExtension