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.
| 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.
|
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 |
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 |
flavorSelection(java.lang.String name,
java.lang.String value) |
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.lang.Boolean |
getBaseFeature() |
java.util.List<java.io.File> |
getBootClasspath() |
org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.api.BaseVariantOutput> |
getBuildOutputs()
All build outputs for all variants, can be used by users to customize a build output.
|
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, used for
publishing to Maven
|
java.util.List<com.android.builder.testing.api.DeviceProvider> |
getDeviceProviders() |
com.android.build.gradle.internal.dsl.DexOptions |
getDexOptions() |
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() |
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 |
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()
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.2 |
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.AndroidConfigpublic 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.AndroidConfigpublic org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.api.BaseVariantOutput> getBuildOutputs()
getBuildOutputs in interface com.android.build.gradle.AndroidConfigpublic 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.AndroidConfigpublic 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.AndroidConfigpublic 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.AndroidConfigpublic 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.AndroidConfigpublic org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.internal.dsl.ProductFlavor> getProductFlavors()
getProductFlavors in interface com.android.build.gradle.AndroidConfigpublic org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.internal.dsl.BuildType> getBuildTypes()
getBuildTypes in interface com.android.build.gradle.AndroidConfigpublic org.gradle.api.NamedDomainObjectContainer<com.android.build.gradle.internal.dsl.SigningConfig> getSigningConfigs()
getSigningConfigs in interface com.android.build.gradle.AndroidConfigpublic void defaultPublishConfig(java.lang.String value)
public java.lang.String getDefaultPublishConfig()
getDefaultPublishConfig in interface com.android.build.gradle.AndroidConfigpublic void setDefaultPublishConfig(java.lang.String value)
public void setPublishNonDefault(boolean publishNonDefault)
public void flavorSelection(java.lang.String name,
java.lang.String value)
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.AndroidConfigpublic com.android.build.gradle.internal.dsl.AdbOptions getAdbOptions()
getAdbOptions in interface com.android.build.gradle.AndroidConfigpublic java.lang.String getResourcePrefix()
getResourcePrefix in interface com.android.build.gradle.AndroidConfigpublic java.util.List<java.lang.String> getFlavorDimensionList()
getFlavorDimensionList in interface com.android.build.gradle.AndroidConfigpublic boolean getGeneratePureSplits()
getGeneratePureSplits in interface com.android.build.gradle.AndroidConfigpublic 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@NonNull public com.android.repository.Revision getBuildToolsRevision()
getBuildToolsRevision in interface com.android.build.gradle.AndroidConfigpublic java.util.Collection<com.android.builder.core.LibraryRequest> getLibraryRequests()
getLibraryRequests in interface com.android.build.gradle.AndroidConfigpublic 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 com.android.build.gradle.internal.dsl.ProductFlavor getDefaultConfig()
getDefaultConfig in interface com.android.build.gradle.AndroidConfigpublic com.android.build.gradle.internal.dsl.AaptOptions getAaptOptions()
getAaptOptions in interface com.android.build.gradle.AndroidConfigpublic com.android.build.gradle.internal.CompileOptions getCompileOptions()
getCompileOptions in interface com.android.build.gradle.AndroidConfigpublic com.android.build.gradle.internal.dsl.DexOptions getDexOptions()
getDexOptions in interface com.android.build.gradle.AndroidConfigpublic com.android.build.gradle.internal.coverage.JacocoOptions getJacoco()
getJacoco in interface com.android.build.gradle.AndroidConfigpublic com.android.build.gradle.internal.dsl.LintOptions getLintOptions()
getLintOptions in interface com.android.build.gradle.AndroidConfigpublic com.android.build.gradle.internal.dsl.ExternalNativeBuild getExternalNativeBuild()
getExternalNativeBuild in interface com.android.build.gradle.AndroidConfigpublic com.android.build.gradle.internal.dsl.PackagingOptions getPackagingOptions()
getPackagingOptions in interface com.android.build.gradle.AndroidConfigpublic com.android.build.gradle.internal.dsl.Splits getSplits()
getSplits in interface com.android.build.gradle.AndroidConfigpublic com.android.build.gradle.internal.dsl.TestOptions getTestOptions()
getTestOptions in interface com.android.build.gradle.AndroidConfigpublic java.lang.Boolean getPackageBuildConfig()
getPackageBuildConfig in interface com.android.build.gradle.AndroidConfigpublic java.util.Collection<java.lang.String> getAidlPackageWhiteList()
getAidlPackageWhiteList in interface com.android.build.gradle.AndroidConfigpublic java.lang.Boolean getBaseFeature()
getBaseFeature in interface com.android.build.gradle.AndroidConfig