0
点赞
收藏
分享

微信扫一扫

【Android Gradle 插件】主工程与依赖库变体配置 (LibraryExtension#libraryVariants|AppExtension#applicationVariants)


文章目录

  • ​​一、LibraryExtension#libraryVariants 配置​​
  • ​​二、AppExtension#applicationVariants 配置​​

Android Plugin DSL Reference 参考文档 :

  • 文档主页 : ​​https://google.github.io/android-gradle-dsl/2.3/​​
  • BaseExtension 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.BaseExtension.html​​
  • AppExtension ( build.gradle#android 配置 ) 文档位置 : ​​android-gradle-dsl-gh-pages/2.3/com.android.build.gradle.AppExtension.html​​
  • build.gradle#android 模块配置文档 : ​​android-gradle-dsl/2.3/com.android.build.gradle.AppExtension.html​​
  • ProductFlavor ( build.gradle#android#defaultConfig 配置 ) 文档 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.ProductFlavor.html​​
  • ProductFlavor#externalNativeBuild 配置 ( build.gradle#android#defaultConfig#externalNativeBuild 配置 ) : ​​com.android.build.gradle.internal.dsl.ProductFlavor:externalNativeBuild​​
  • ExternalNativeBuildOptions ( build.gradle#android#defaultConfig#externalNativeBuild 配置 ) 文档位置 : ​​android-gradle-dsl-gh-pages/2.3/com.android.build.gradle.internal.dsl.ExternalNativeBuildOptions.html​​
  • NdkBuildOptions ( build.gradle#android#defaultConfig#externalNativeBuild#ndkBuild 配置 ) 文档位置 : ​​android-gradle-dsl-gh-pages/2.3/com.android.build.gradle.internal.dsl.NdkBuildOptions.html​​
  • CmakeOptions ( build.gradle#android#defaultConfig#externalNativeBuild#cmake 配置 ) 文档位置 : ​​android-gradle-dsl-gh-pages/2.3/com.android.build.gradle.internal.dsl.CmakeOptions.html​​
  • JackOptions ( build.gradle#android#defaultConfig#jackOptions 配置 ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.JackOptions.html​​
  • AnnotationProcessorOptions ( 注解处理器配置 ) ( build.gradle#android#defaultConfig#javaCompileOptions配置 ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.AnnotationProcessorOptions.html​​
  • NdkOptions ( build.gradle#android#defaultConfig#ndk 配置 ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.NdkOptions.html​​
  • NDK 参考文档 : ​​Add C and C++ Code to Your Project.​​
  • VectorDrawablesOptions ( build.gradle#android#defaultConfig#vectorDrawables 配置 ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.VectorDrawablesOptions.html​​
  • BuildType ( build.gradle#android#buildTypes 配置 ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.BuildType.html​​
  • SigningConfig ( build.gradle#android#signingConfigs 配置 ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.SigningConfig.html​​
  • AaptOptions ( build.gradle#android#aaptOptions 配置 ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.AaptOptions.html​​
  • AndroidSourceSets ( build.gradle#android#sourceSets 配置 ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.api.AndroidSourceSet.html​​
  • AndroidSourceDirectorySet ( build.gradle#android#sourceSets#aidl/assets/java/jni/jniLibs 配置 ) 文档位置 :​​android-gradle-dsl/2.3/com.android.build.gradle.api.AndroidSourceDirectorySet.html​​
  • AndroidSourceFile ( build.gradle#android#sourceSets#manifest 配置 ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.api.AndroidSourceFile.html​​
  • DataBindingOptions ( build.gradle#android#dataBinding ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.DataBindingOptions.html​​
  • DexOptions ( build.gradle#android#dexOptions ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.DexOptions.html​​
  • LintOptions ( build.gradle#android#lintOptions ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.LintOptions.html​​
  • PackagingOptions ( build.gradle#android#packagingOptions ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.PackagingOptions.html​​
  • Splits ( build.gradle#android#splits ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.Splits.html​​
  • AbiSplitOptions ( build.gradle#android#splits#abi ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.AbiSplitOptions.html​​
  • LanguageSplitOptions ( build.gradle#android#splits#language ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.LanguageSplitOptions.html​​
  • DensitySplitOptions ( build.gradle#android#splits#density ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.DensitySplitOptions.html​​
  • TestOptions ( build.gradle#android#testOptions ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.TestOptions.html​​
  • Android 测试相关文档 : ​​https://developer.android.google.cn/training/testing​​
  • UnitTestOptions ( build.gradle#android#testOptions#unitTests ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.TestOptions.UnitTestOptions.html​​
  • org.gradle.api.tasks.testing.Test 单元测试配置类 : ​​https://docs.gradle.org/current/javadoc/org/gradle/api/tasks/testing/Test.html​​
  • LibraryExtension ( Library 依赖库的 build.gradle#android 配置 ) 文档 : ​​android-gradle-dsl/2.3/com.android.build.gradle.LibraryExtension.html​​


一、LibraryExtension#libraryVariants 配置

LibraryExtension ( Library 依赖库的 build.gradle#android 配置 ) 文档 : ​​android-gradle-dsl/2.3/com.android.build.gradle.LibraryExtension.html​​


LibraryExtension#libraryVariants 配置 的作用是 配置 Android Library 依赖库 Module 编译时生成的变体 ;

LibraryExtension#libraryVariants 配置原型 :

DefaultDomainObjectSet<LibraryVariant> libraryVariants

The list of library variants.
Since the collections is built after evaluation,
it should be used with Gradle's all iterator to process future items.

库变体的列表。
由于集合是在求值之后构建的,
因此应该与Gradle的all迭代器一起使用,以处理将来的项。


LibraryExtension#libraryVariants 配置使用示例 :

android {
libraryVariants.all {
// 遍历打印变体的名称
println it.name
}
}


二、AppExtension#applicationVariants 配置


AppExtension ( build.gradle#android 配置 ) 文档位置 : ​​android-gradle-dsl-gh-pages/2.3/com.android.build.gradle.AppExtension.html​​



AppExtension#applicationVariants 配置 的作用是 配置 Android 主应用 Module 编译时生成的变体 ;

AppExtension#applicationVariants 配置原型 :

DomainObjectSet<ApplicationVariant> applicationVariants

The list of Application variants.
Since the collections is built after evaluation,
it should be used with Gradle's all iterator to process future items.

应用程序变体列表。
由于集合是在评估之后构建的,
它应该与Gradle的all迭代器一起使用,以处理将来的项目。

AppExtension#applicationVariants 配置使用示例 :

android {
libraryVariants.all {
// 遍历打印变体的名称
println it.name
// 打印输出的 apk 文件全路径名称
println it.outputs*.outputFile
}
}

举报

相关推荐

0 条评论