public abstract class BaseExtension
extends java.lang.Object
implements com.android.build.gradle.AndroidConfig
This is never used directly. Instead,
com.android.application
uses AppExtension
com.android.library
uses LibraryExtension
com.android.test
uses TestExtension
com.android.atom
uses AtomExtension
com.android.instantapp
uses InstantAppExtension
Modifier and Type | Field and Description |
---|---|
protected org.gradle.api.logging.Logger |
logger |
protected org.gradle.api.Project |
project |
Modifier and Type | Method and Description |
---|---|
void |
aaptOptions(org.gradle.api.Action<com.android.build.gradle.internal.dsl.AaptOptions> action)
Configures aapt options.
|
void |
adbOptions(org.gradle.api.Action<com.android.build.gradle.internal.dsl.AdbOptions> action)
Configures adb options.
|
abstract void |
addVariant(com.android.build.gradle.api.BaseVariant variant) |
void |
buildToolsVersion(java.lang.String version) |
void |
buildTypes(org.gradle.api.Action<? super org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.internal.dsl.BuildType>> action)
Configures build types.
|
protected void |
checkWritability() |
void |
compileOptions(org.gradle.api.Action<com.android.build.gradle.internal.CompileOptions> action)
Configures compile options.
|
void |
compileSdkVersion(int apiLevel)
Sets the compile SDK version, based on API level, e.g.
|
void |
compileSdkVersion(java.lang.String version)
Sets the compile SDK version, based on full SDK version string, e.g.
|
protected void |
createConfiguration(org.gradle.api.artifacts.ConfigurationContainer configurations,
java.lang.String configurationName,
java.lang.String configurationDescription) |
void |
dataBinding(org.gradle.api.Action<com.android.build.gradle.internal.dsl.DataBindingOptions> action)
Configures data binding options.
|
void |
defaultConfig(org.gradle.api.Action<com.android.build.gradle.internal.dsl.ProductFlavor> action)
The default configuration, inherited by all product flavors (if any are defined).
|
void |
defaultPublishConfig(java.lang.String value) |
void |
deviceProvider(com.android.builder.testing.api.DeviceProvider deviceProvider) |
void |
dexOptions(org.gradle.api.Action<com.android.build.gradle.internal.dsl.DexOptions> action)
Configures dex options.
|
void |
disableWrite()
Disallow further modification on the extension.
|
void |
enforceUniquePackageName(boolean value) |
void |
externalNativeBuild(org.gradle.api.Action<com.android.build.gradle.internal.dsl.ExternalNativeBuild> action)
Configures external native build options.
|
void |
flavorDimensions(java.lang.String... dimensions)
Specifies names of flavor dimensions.
|
void |
generatePureSplits(boolean flag) |
com.android.build.gradle.internal.dsl.AaptOptions |
getAaptOptions() |
java.io.File |
getAdbExe()
Deprecated.
|
java.io.File |
getAdbExecutable()
The adb executable from the compile SDK.
|
com.android.build.gradle.internal.dsl.AdbOptions |
getAdbOptions() |
java.util.Collection<java.lang.String> |
getAidlPackageWhiteList() |
java.util.List<java.io.File> |
getBootClasspath() |
com.android.repository.Revision |
getBuildToolsRevision() |
java.lang.String |
getBuildToolsVersion()
Version of the build tools to use.
|
org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.internal.dsl.BuildType> |
getBuildTypes() |
com.android.build.gradle.internal.CompileOptions |
getCompileOptions() |
java.lang.String |
getCompileSdkVersion()
Required. Compile SDK version.
|
com.android.build.gradle.internal.dsl.DataBindingOptions |
getDataBinding() |
com.android.build.gradle.internal.dsl.ProductFlavor |
getDefaultConfig() |
java.io.File |
getDefaultProguardFile(java.lang.String name) |
java.lang.String |
getDefaultPublishConfig()
Name of the configuration used to build the default artifact of this project.
|
java.util.List<com.android.builder.testing.api.DeviceProvider> |
getDeviceProviders() |
com.android.build.gradle.internal.dsl.DexOptions |
getDexOptions() |
boolean |
getEnforceUniquePackageName() |
com.android.build.gradle.internal.dsl.ExternalNativeBuild |
getExternalNativeBuild() |
java.util.List<java.lang.String> |
getFlavorDimensionList()
Returns the names of flavor dimensions.
|
boolean |
getGeneratePureSplits() |
com.android.build.gradle.internal.coverage.JacocoOptions |
getJacoco() |
java.util.Collection<com.android.builder.core.LibraryRequest> |
getLibraryRequests() |
com.android.build.gradle.internal.dsl.LintOptions |
getLintOptions() |
java.io.File |
getNdkDirectory()
ReturnS the NDK directory used.
|
java.lang.Boolean |
getPackageBuildConfig() |
com.android.build.gradle.internal.dsl.PackagingOptions |
getPackagingOptions() |
org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.internal.dsl.ProductFlavor> |
getProductFlavors() |
boolean |
getPublishNonDefault()
Whether to publish artifacts for all configurations, not just the default one.
|
java.lang.String |
getResourcePrefix() |
java.io.File |
getSdkDirectory()
Returns the SDK directory used.
|
org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.internal.dsl.SigningConfig> |
getSigningConfigs() |
org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.api.AndroidSourceSet> |
getSourceSets()
All source sets.
|
com.android.build.gradle.internal.dsl.Splits |
getSplits() |
com.android.build.gradle.internal.dsl.TestOptions |
getTestOptions() |
java.util.List<com.android.builder.testing.api.TestServer> |
getTestServers() |
java.util.List<com.android.build.api.transform.Transform> |
getTransforms() |
java.util.List<java.util.List<java.lang.Object>> |
getTransformsDependencies() |
org.gradle.api.Action<com.android.build.api.variant.VariantFilter> |
getVariantFilter()
Callback to control which variants should be excluded.
|
void |
jacoco(org.gradle.api.Action<com.android.build.gradle.internal.coverage.JacocoOptions> action)
Configures JaCoCo options.
|
void |
lintOptions(org.gradle.api.Action<com.android.build.gradle.internal.dsl.LintOptions> action)
Configures lint options.
|
void |
packagingOptions(org.gradle.api.Action<com.android.build.gradle.internal.dsl.PackagingOptions> action)
Configures packaging options.
|
void |
productFlavors(org.gradle.api.Action<? super org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.internal.dsl.ProductFlavor>> action)
Configures product flavors.
|
void |
registerArtifactType(java.lang.String name,
boolean isTest,
int artifactType) |
void |
registerBuildTypeSourceProvider(java.lang.String name,
com.android.build.gradle.internal.dsl.BuildType buildType,
com.android.builder.model.SourceProvider sourceProvider) |
void |
registerJavaArtifact(java.lang.String name,
com.android.build.gradle.api.BaseVariant variant,
java.lang.String assembleTaskName,
java.lang.String javaCompileTaskName,
java.util.Collection<java.io.File> generatedSourceFolders,
java.lang.Iterable<java.lang.String> ideSetupTaskNames,
org.gradle.api.artifacts.Configuration configuration,
java.io.File classesFolder,
java.io.File javaResourceFolder,
com.android.builder.model.SourceProvider sourceProvider) |
void |
registerMultiFlavorSourceProvider(java.lang.String name,
java.lang.String flavorName,
com.android.builder.model.SourceProvider sourceProvider) |
void |
registerProductFlavorSourceProvider(java.lang.String name,
com.android.build.gradle.internal.dsl.ProductFlavor productFlavor,
com.android.builder.model.SourceProvider sourceProvider) |
void |
registerTransform(com.android.build.api.transform.Transform transform,
java.lang.Object... dependencies) |
void |
resourcePrefix(java.lang.String prefix) |
void |
setBuildToolsVersion(java.lang.String version) |
void |
setCompileSdkVersion(int apiLevel) |
void |
setCompileSdkVersion(java.lang.String target) |
void |
setDefaultPublishConfig(java.lang.String value) |
void |
setEnforceUniquePackageName(boolean value) |
void |
setGeneratePureSplits(boolean flag) |
void |
setPublishNonDefault(boolean publishNonDefault) |
void |
setVariantFilter(org.gradle.api.Action<com.android.build.api.variant.VariantFilter> filter) |
void |
signingConfigs(org.gradle.api.Action<? super org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.internal.dsl.SigningConfig>> action)
Configures signing configs.
|
void |
sourceSets(org.gradle.api.Action<org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.api.AndroidSourceSet>> action)
Configures source sets.
|
void |
splits(org.gradle.api.Action<com.android.build.gradle.internal.dsl.Splits> action)
Configures APK splits.
|
void |
testOptions(org.gradle.api.Action<com.android.build.gradle.internal.dsl.TestOptions> action)
Configures test options.
|
void |
testServer(com.android.builder.testing.api.TestServer testServer) |
void |
useLibrary(java.lang.String name)
Request the use a of Library.
|
void |
useLibrary(java.lang.String name,
boolean required)
Request the use a of Library.
|
void |
variantFilter(org.gradle.api.Action<com.android.build.api.variant.VariantFilter> filter) |
static com.android.builder.model.SourceProvider |
wrapJavaSourceSet(org.gradle.api.tasks.SourceSet sourceSet) |
protected org.gradle.api.logging.Logger logger
protected org.gradle.api.Project project
public void disableWrite()
protected void checkWritability()
protected void createConfiguration(@NonNull org.gradle.api.artifacts.ConfigurationContainer configurations, @NonNull java.lang.String configurationName, @NonNull java.lang.String configurationDescription)
public void compileSdkVersion(java.lang.String version)
android-21
for Lollipop.public void compileSdkVersion(int apiLevel)
public void setCompileSdkVersion(int apiLevel)
public void setCompileSdkVersion(java.lang.String target)
public void useLibrary(java.lang.String name)
name
- the name of the library.public void useLibrary(java.lang.String name, boolean required)
name
- the name of the library.required
- if using the library requires a manifest entry, the entry will
indicate that the library is not required.public void buildToolsVersion(java.lang.String version)
public java.lang.String getBuildToolsVersion()
Each released plugin has a fixed default, so builds are reproducible.
Gradle plugin | Minimum build tools | Default build tools |
---|---|---|
2.0.x | 21.1.1 | - |
2.1.x | 23.0.2 | - |
2.2.x | 23.0.2 | - |
2.3.x | 23.0.2 | - |
2.4.x | 25.0.0 | 25.0.1 |
The value assigned to this property is parsed and stored in a normalized form, so reading it back may give a slightly different string.
getBuildToolsVersion
in interface com.android.build.gradle.AndroidConfig
public void setBuildToolsVersion(java.lang.String version)
public void buildTypes(org.gradle.api.Action<? super org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.internal.dsl.BuildType>> action)
public void productFlavors(org.gradle.api.Action<? super org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.internal.dsl.ProductFlavor>> action)
public void signingConfigs(org.gradle.api.Action<? super org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.internal.dsl.SigningConfig>> action)
public void flavorDimensions(java.lang.String... dimensions)
public void sourceSets(org.gradle.api.Action<org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.api.AndroidSourceSet>> action)
Note that the Android plugin uses its own implementation of source sets,
AndroidSourceSet
.
public org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.api.AndroidSourceSet> getSourceSets()
AndroidSourceSet
.getSourceSets
in interface com.android.build.gradle.AndroidConfig
public void defaultConfig(org.gradle.api.Action<com.android.build.gradle.internal.dsl.ProductFlavor> action)
public void aaptOptions(org.gradle.api.Action<com.android.build.gradle.internal.dsl.AaptOptions> action)
public void dexOptions(org.gradle.api.Action<com.android.build.gradle.internal.dsl.DexOptions> action)
public void lintOptions(org.gradle.api.Action<com.android.build.gradle.internal.dsl.LintOptions> action)
public void externalNativeBuild(org.gradle.api.Action<com.android.build.gradle.internal.dsl.ExternalNativeBuild> action)
public void testOptions(org.gradle.api.Action<com.android.build.gradle.internal.dsl.TestOptions> action)
public void compileOptions(org.gradle.api.Action<com.android.build.gradle.internal.CompileOptions> action)
public void packagingOptions(org.gradle.api.Action<com.android.build.gradle.internal.dsl.PackagingOptions> action)
public void jacoco(org.gradle.api.Action<com.android.build.gradle.internal.coverage.JacocoOptions> action)
public void adbOptions(org.gradle.api.Action<com.android.build.gradle.internal.dsl.AdbOptions> action)
public void splits(org.gradle.api.Action<com.android.build.gradle.internal.dsl.Splits> action)
public void dataBinding(org.gradle.api.Action<com.android.build.gradle.internal.dsl.DataBindingOptions> action)
public com.android.build.gradle.internal.dsl.DataBindingOptions getDataBinding()
getDataBinding
in interface com.android.build.gradle.AndroidConfig
public void deviceProvider(com.android.builder.testing.api.DeviceProvider deviceProvider)
@NonNull public java.util.List<com.android.builder.testing.api.DeviceProvider> getDeviceProviders()
getDeviceProviders
in interface com.android.build.gradle.AndroidConfig
public void testServer(com.android.builder.testing.api.TestServer testServer)
@NonNull public java.util.List<com.android.builder.testing.api.TestServer> getTestServers()
getTestServers
in interface com.android.build.gradle.AndroidConfig
public void registerTransform(@NonNull com.android.build.api.transform.Transform transform, java.lang.Object... dependencies)
@NonNull public java.util.List<com.android.build.api.transform.Transform> getTransforms()
getTransforms
in interface com.android.build.gradle.AndroidConfig
@NonNull public java.util.List<java.util.List<java.lang.Object>> getTransformsDependencies()
getTransformsDependencies
in interface com.android.build.gradle.AndroidConfig
public org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.internal.dsl.ProductFlavor> getProductFlavors()
getProductFlavors
in interface com.android.build.gradle.AndroidConfig
public org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.internal.dsl.BuildType> getBuildTypes()
getBuildTypes
in interface com.android.build.gradle.AndroidConfig
public org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.internal.dsl.SigningConfig> getSigningConfigs()
getSigningConfigs
in interface com.android.build.gradle.AndroidConfig
public void defaultPublishConfig(java.lang.String value)
public java.lang.String getDefaultPublishConfig()
getDefaultPublishConfig
in interface com.android.build.gradle.AndroidConfig
public void setDefaultPublishConfig(java.lang.String value)
public boolean getPublishNonDefault()
getPublishNonDefault
in interface com.android.build.gradle.AndroidConfig
public void setPublishNonDefault(boolean publishNonDefault)
public void variantFilter(org.gradle.api.Action<com.android.build.api.variant.VariantFilter> filter)
public void setVariantFilter(org.gradle.api.Action<com.android.build.api.variant.VariantFilter> filter)
public org.gradle.api.Action<com.android.build.api.variant.VariantFilter> getVariantFilter()
The Action
is passed a single object of type VariantFilter
.
It should set the VariantFilter.setIgnore(boolean)
flag to filter out the
given variant.
getVariantFilter
in interface com.android.build.gradle.AndroidConfig
public com.android.build.gradle.internal.dsl.AdbOptions getAdbOptions()
getAdbOptions
in interface com.android.build.gradle.AndroidConfig
public java.lang.String getResourcePrefix()
getResourcePrefix
in interface com.android.build.gradle.AndroidConfig
public java.util.List<java.lang.String> getFlavorDimensionList()
getFlavorDimensionList
in interface com.android.build.gradle.AndroidConfig
public boolean getGeneratePureSplits()
getGeneratePureSplits
in interface com.android.build.gradle.AndroidConfig
public void resourcePrefix(java.lang.String prefix)
public abstract void addVariant(com.android.build.gradle.api.BaseVariant variant)
public void registerArtifactType(@NonNull java.lang.String name, boolean isTest, int artifactType)
public void registerBuildTypeSourceProvider(@NonNull java.lang.String name, @NonNull com.android.build.gradle.internal.dsl.BuildType buildType, @NonNull com.android.builder.model.SourceProvider sourceProvider)
public void registerProductFlavorSourceProvider(@NonNull java.lang.String name, @NonNull com.android.build.gradle.internal.dsl.ProductFlavor productFlavor, @NonNull com.android.builder.model.SourceProvider sourceProvider)
public void registerJavaArtifact(@NonNull java.lang.String name, @NonNull com.android.build.gradle.api.BaseVariant variant, @NonNull java.lang.String assembleTaskName, @NonNull java.lang.String javaCompileTaskName, @NonNull java.util.Collection<java.io.File> generatedSourceFolders, @NonNull java.lang.Iterable<java.lang.String> ideSetupTaskNames, @NonNull org.gradle.api.artifacts.Configuration configuration, @NonNull java.io.File classesFolder, @NonNull java.io.File javaResourceFolder, @Nullable com.android.builder.model.SourceProvider sourceProvider)
public void registerMultiFlavorSourceProvider(@NonNull java.lang.String name, @NonNull java.lang.String flavorName, @NonNull com.android.builder.model.SourceProvider sourceProvider)
@NonNull public static com.android.builder.model.SourceProvider wrapJavaSourceSet(@NonNull org.gradle.api.tasks.SourceSet sourceSet)
public java.lang.String getCompileSdkVersion()
Your code will be compiled against the android.jar from this API level. You should generally use the most up-to-date SDK version here. Use the Lint tool to make sure you don't use APIs not available in earlier platform version without checking.
Setter can be called with a string like "android-21" or a number.
Value assigned to this property is parsed and stored in a normalized form, so reading it back may give a slightly different string.
getCompileSdkVersion
in interface com.android.build.gradle.AndroidConfig
public com.android.repository.Revision getBuildToolsRevision()
getBuildToolsRevision
in interface com.android.build.gradle.AndroidConfig
public java.util.Collection<com.android.builder.core.LibraryRequest> getLibraryRequests()
getLibraryRequests
in interface com.android.build.gradle.AndroidConfig
public java.io.File getSdkDirectory()
public java.io.File getNdkDirectory()
public java.util.List<java.io.File> getBootClasspath()
public java.io.File getAdbExecutable()
@Deprecated public java.io.File getAdbExe()
public java.io.File getDefaultProguardFile(java.lang.String name)
public void generatePureSplits(boolean flag)
public void setGeneratePureSplits(boolean flag)
public void enforceUniquePackageName(boolean value)
public void setEnforceUniquePackageName(boolean value)
public boolean getEnforceUniquePackageName()
getEnforceUniquePackageName
in interface com.android.build.gradle.AndroidConfig
public com.android.build.gradle.internal.dsl.ProductFlavor getDefaultConfig()
getDefaultConfig
in interface com.android.build.gradle.AndroidConfig
public com.android.build.gradle.internal.dsl.AaptOptions getAaptOptions()
getAaptOptions
in interface com.android.build.gradle.AndroidConfig
public com.android.build.gradle.internal.CompileOptions getCompileOptions()
getCompileOptions
in interface com.android.build.gradle.AndroidConfig
public com.android.build.gradle.internal.dsl.DexOptions getDexOptions()
getDexOptions
in interface com.android.build.gradle.AndroidConfig
public com.android.build.gradle.internal.coverage.JacocoOptions getJacoco()
getJacoco
in interface com.android.build.gradle.AndroidConfig
public com.android.build.gradle.internal.dsl.LintOptions getLintOptions()
getLintOptions
in interface com.android.build.gradle.AndroidConfig
public com.android.build.gradle.internal.dsl.ExternalNativeBuild getExternalNativeBuild()
getExternalNativeBuild
in interface com.android.build.gradle.AndroidConfig
public com.android.build.gradle.internal.dsl.PackagingOptions getPackagingOptions()
getPackagingOptions
in interface com.android.build.gradle.AndroidConfig
public com.android.build.gradle.internal.dsl.Splits getSplits()
getSplits
in interface com.android.build.gradle.AndroidConfig
public com.android.build.gradle.internal.dsl.TestOptions getTestOptions()
getTestOptions
in interface com.android.build.gradle.AndroidConfig
public java.lang.Boolean getPackageBuildConfig()
getPackageBuildConfig
in interface com.android.build.gradle.AndroidConfig
public java.util.Collection<java.lang.String> getAidlPackageWhiteList()
getAidlPackageWhiteList
in interface com.android.build.gradle.AndroidConfig