Android build.gradle写法

来源:互联网 发布:施工网络计划图软件 编辑:程序博客网 时间:2024/05/29 14:31

近几天打开一个android 项目,因为gradle依赖的版本本地没有缓冲,需要去下载,但是网不好,先看一下这个gradle

这里写图片描述

作为一个看惯了AS创建就生成的gradle的小白,根本就不知道怎么改
经过一番百度,在这里就重新介绍一下gradle
gradle它使用了一种基于Groovy的领域特定语言(DSL)来声明项目设置,摒弃了传统基于XML(如Ant和Mave)的各种繁琐配置
先看一下最外层目录下的build.gradle文件

这里写图片描述

首先,两处repositories的闭包中斗声明了jcenter()这行配置,它是一个代码托管库,很多Android开源项目都会选择将代码托管到jcenter,声明这行配置之后,我们就可以在项目中引用任何jcenter上的项目了。
dependencies闭包中使用classpath声明了一个Gradle插件。因为Gradle并不是专门用来构建Android项目的,java,C++等很多项目都可以用Gradle来构建,因此要声明插件。再看app目录下的build.gradle文件

这里写图片描述

首先第一行应用了一个插件,一般有两种值可选:com.android.application表示这是一个应用程序模块
com.android.library表示这是一个库模块
应用程序模块和库模块的最大区别在于,一个是可以直接运行的,一个只能作为代码库依附于应用程序模块来运行

接下来是一个大的android闭包

minSdkVersion:用于指定项目的编译版本
buildToolsVersion “25.0.2”:用于指定项目构建工具的版本
defaultConfig闭包:对项目更多细节进行配置
applicationId :用于指定项目的包名
minSdkVersion:用于指定项目最低兼容的Android系统版本
targetSdkVersion:指定的值表示你已在该目标版本上做过了充分的测试,系统将会为你的应用程序启动一些最新的功能和特性
versionCode:用于指定项目的版本号
versionName:用于指定项目的版本名

buildTypes:用于指定生成安装文件的相关配置,通常只会有两个闭包,一个是debug,一个是release闭包
debug:用于指定生成测试版安装文件的配置,可以忽略不写
release:用于指定生成正式版安装文件的配置

release闭包中的:
minifyEnabled:用于指定是否对项目的代码进行混淆。true表示混淆,false表示不混淆。
proguardFiles:用于指定混淆时使用的规则文件
proguard-android.txt:是在Android SDK目录下的,里面是项目通用的混淆规则
proguard-rules.pro:是当前项目根目录下的,里面可以编写当前项目特有的混淆规则。
注意:Android Studio直接运行的项目生成的都是测试版安装文件

dependencies:指定当前项目所有依赖关系,通常 Android Studio 项目一共有3种依赖方式,本地依赖,库依赖,和远程依赖
1.本地依赖:可以对本地的Jar包或目录添加依赖关系
2.库依赖:可以对项目中的库模块添加依赖关系
3.远程依赖:可以对jcenter库上的开源项目添加依赖关系

compile fileTree:是一个本地依赖声明,表示将libs目录下所以.jar后缀的文件都添加到项目的构建路径当中

compile:远程依赖声明
com.android.support:是域名部分,用于可其他公司的库作区分
appcompat-v7:是组名称,用于和同一个公司不同的库做区分
25.3.0:是版本号,用于和同一个库的不同版本作区分

注意:Gradle在构建项目时会首先检查一下本地是否已经有这个库的依赖,如果没有的话则回去自动联网下载,然后在添加到项目的构建路径当中

testCompile:用于声明测试用例库

废话不多说的,接下来写我遇到的gradle写法:

在app目录下的build.gradle文件这样写:

这里写图片描述
这里写图片描述

这个版本详情具体写在外层目录下的build.gradle文件中

这里写图片描述

还有在app目录下的build.gradle文件这样写的

这里写图片描述

这个版本详情具体写在外层目录下

这里写图片描述
这里写图片描述

这里写图片描述
这里写图片描述

我也碰到了这几种写法,小伙伴们看看喜欢那种,也试试吧

1 0
原创粉丝点击