详解build.gradle文件
Android studio是采用gradle来构建项目的,gradle是一个非常先进的项目构建工具
最外层的build.gradle:
引入了google()和jcenter仓库中的依赖库
dependencies闭包中定义了gradle和kotlin插件
最外面的build.gradle文件分析完了,一般情况下不用修改
app目录下的build.gradle文件
第一行代码:com.android.application表示应用程序模块,可以直接运行;若是com.android.library则表示是库模块只能作为代码库依附于别的应用程序模块来运行。
第二、三行代码:第一个插件保证可以用kotlin来开发android,第二个插件实现了kotlin的扩展功能
android闭包中的defaultConfig闭包:
applicationID是每一个应用唯一的标识符,不能重复,默认为包名。
minSdkVersion:项目最低兼容的android版本,21表示兼容到安卓5.0系统
targetSdkVersion表示最高在30的安卓系统上做过测试
versiomCode 项目的版本号 Versionname项目名字
testInstrumentationRunner 用于当前项目中启用JUnit测试。
builtTypes闭包:用于指定生成安装文件的相关配置
有两个子闭包:
debug:用于生成测试版安装文件的配置,可以忽略不写
release:用于生成正式版安装文件的配置,minifyEnabled:true表示对项目代码进行混淆,proguardFiles混淆使用的规则文件,这里有两个文件,proguard-android-optimize.txt是在《androidSDk>/TOOL/proguard目录下的适用于所有项目的混淆规则,第二个proguard-rules.pro是当前项目的根目录下的为当前项目的混淆规则
Android Studio直接运行项目生成的都是测试版的安装文件
dependencies闭包功能强大,可以指定项目中所有的依赖关系,android Studio有3种依赖关系
本地依赖:可以对本地的jar包或者目录添加依赖关系
库依赖:可以对项目中的库模块添加依赖关系
远程依赖:可以对jcenter仓库上的开源项目添加依赖关系
第一行implementation filetree就是本地生命,表示将Libs下的所有Jar文件添加到项目的构建路径中
implsementation是远程依赖生命,androidx.appcompat是公司域名部分,appcompat是库名,1.0.2是版本号
implementation project是库依赖,这里没用到
log.d