1,熟悉Android studio的话对于gradle一定不陌生,它是一种自动化构建工具,由Groovy语言编写,实现对project的配置管理。
2,gradle.piroperties文件
该文件存在于根目录的gradle/wrapper文件夹下。
配置说明:
distributionBase:下载gradle压缩包解压之后存储的主目录
distributionPath:相对于distributionPath解压之后gradle压缩包的路径
zipStoreBase :同distributionBase,不过是存放gradle zip 压缩包的
zipStorePath:同distributionPath一样,存在zip的
distributionUrl:gradle发行版本压缩包的下载地址
3,setting.gradle
该文件在根目录下,用来初始化及工程树配置的
一个Project可以对应多个moudle,一个项目添加依赖之后,就会出现在这个文件
4,build.gradle文件(project)
buildscript:用来声明gradle本身需要的资源文件。包括三方插件、仓库和依赖项等。
repositories:仓库,jcenter()、maven()和google()就是托管第三方插件的平台
dependencies:gradle需要的插件
ext:在开发时为了统一版本号,可以将版本配置文件抽离出来,使用一个gradle文件进行管理,在需要的地方机型引用,需要修改的时候只需要更改版本文件即可,不再需要多出更改。
verison.gradle
build.gradle (project)
builde.gradle(moudle)
allprojects:所有moudle都需要用到的依赖包,单独的moudle也可以自己设置
task clean:运行gradle clean时,执行此处定义的task。该任务继承自Delete,删除根目录中的build目录。相当于Android studio的clean
5,build.gradle (moudle)
apply plugin 'XXX' :二进制插件
apply from 'XXX':脚本文件
“com.android.application” App 插件id
"com.android.Library" Library 插件id
"com.android.test" Test插件id
android{} Android Gradle 工程配置入口
compileSdkVersion : 编译的SDK版本
buildToolsVersion : 构建Android工程工具版本
defaultConfig{}: 工程的默认配置,它是一个ProductFlavor。ProductFlavor可根据不同配置生成多个apk包。
applicationId : 包名配置。 包名是app对外发布的唯一标识。在签名、申请第三方库和发布的时候用到。可以与Manifest中的package不一致,package指代码目录下的路径,两者没有必然联系。
minSdkVersion : 支持的Android API最低版本,低于该版本的机型不可使用此app.
targetSdkVersion :目标开发版本,是基于那个版本进行开发的。
versionCode:app的版本号,升级的时候用到。
versionName: 标识app的版本名称。
multiDexEnabled : 用于配置该BuildType是否启用自动拆分多个Dex的功能。一般用程序中代码太多,超过了65535个方法的时候。
ndk{} :包括'armeabi', 'x86', 'armeabi-v7a', 'mips'四个平台,在生成so库的时候使用。
sourceSets :指定Java源码或资源目录
buildTypes:构建类型,内置了debug和release
signingConfigs :签名配置
productFlavors:多渠道打包
manifestPlaceholders:占位符
productFlavors设置 manifestPlaceholders = [APP_NAME: "(测试)"],在AndroidManifest中可以通过${APP_NAME}获取对应的值
buildConfigField :
flavorDimensions:
dexOptions:
网友评论