本文出自: http://blog.csdn.net/jjwwmlp456/article/details/45057067 ----------------- 匆忙拥挤repeat
Gradle,这个东西好复杂,不过在Android中,我们知道它大概怎么用,它的依据何来,就够了。
Gradle的DSL,领域特定语言(domain-specific languages,简称DSL),地址:http://gradle.org/docs/2.3/dsl/
Gradle的用户指南,地址:http://gradle.org/docs/2.3/userguide/userguide.html
Android-Gradle-DSL Android结合Gradle的DSL
下载地址:https://developer.android.com/shareables/sdk-tools/android-gradle-plugin-dsl.zip
简单介绍Android-Gradle构建插件的官方地址:https://developer.android.com/tools/building/plugin-for-gradle.html
详细介绍Android-Gradle构建插件的官方地址:http://tools.android.com/tech-docs/new-build-system
Android Studio 建立project,可在其下建立多个moudle。
一个project自动生成一个build.gradle,每个module下也自动生成一个build.gradle (本文主要讨论module中的build.gradle构建)
module/build.gradle:
defaultConfig{}
默认配置,是ProductFlavor类型。它共享给其他ProductFlavor使用
sourceSets{ } 源文件目录设置,是AndroidSourceSet类型。
buildTypes{ } BuildType类型
signingConfigs{ } 签名配置,SigningConfig类型
productFlavors{ } 产品风格配置,ProductFlavor类型
testOptions{ } 测试配置,TestOptions类型
aaptOptions{ } aapt配置,AaptOptions类型
lintOptions{ } lint配置,LintOptions类型
dexOptions{ } dex配置,DexOptions类型
compileOptions{ } 编译配置,CompileOptions类型
packagingOptions{ } PackagingOptions类型
jacoco{ } JacocoExtension类型。 用于设定 jacoco版本
splits{ } Splits类型。
在DSL文档中,以上每个类型都有它的详细配置选项
自动签名、混淆、打包、注入多个渠道。
例,module>build.gradle:
manifest.xml:
完整示例:https://github.com/aa86799/ProguardPack