Android:Gradle,Gradle命令和配置

时间:2024-04-13 22:05:52

前言

上一期我们熟悉了:Gradle是什么,怎样和AS配合使用。

链接:https://blog.****.net/u011287967/article/details/80883661

这一期我们来看看Gradle命令和配置。

本文环境:window 10, as 3.1.3,gradle plugin 3.1.3,gradle 4.4。

1,环境变量

Android:Gradle,Gradle命令和配置

当没有配置环境变量时,只能执行命令 "gradlew xxxxxx";

配置方法:系统属性-->环境变量-->path (我的路径为C:\Program Files\Android\Android Studio\gradle\gradle-4.4\bin)

检查:

Android:Gradle,Gradle命令和配置

这时候就可以使用命令 "gradle xxxxxx"了。

2,基本命令

所有命令都是在终端里执行,并且必须要切换到所在项目的根目录下执行:
gradlew -v 版本号
gradlew clean 清除9GAG/app目录下的build文件夹
gradlew build 检查依赖并编译打包
gradlew assembleDebug 编译并打Debug包
gradlew assembleRelease 编译并打Release的包
或者 gradle clean 等等

其中 assembleDebug = assemble + Debug ;assembleRelease assemble + ReleaseDebug和Release动态修改,具体见下文”配置“

2,基本配置

本文介绍项目中最重要的配置文件:MyApplicationTest/app/build.gradle

全新的项目会包含三个部分:

a,最顶部的apply plugin声明;

b,android {} 节点;

c,dependencies {} 节点。

apply plugin 声明

apply plugin: 'com.android.application'

代表该项目是一个 Android 项目,而且一个 Android 项目只有一句这个声明;

apply plugin: 'com.android.library'
代表该项目被引用的一些 module,可以理解成通过源码的方式引用一些 android library。

dependencies 节点:

Android:Gradle,Gradle命令和配置

其中api fileTree(dir: 'libs', include: ['*.jar']) ,意思是编译 libs 目录下的所有 jar 包,当然你可以更改这个目录。

Gradle以前的版本 "api"为"compile"。

第二种依赖,一般是放在 jcenter 和 maven 仓库的,这个可以在项目根目录下的 build.gradle 指定远程仓库地址,甚至可以在本地搭建一个私有仓库,然后指定本地仓库地址。  

android 节点  

Android:Gradle,Gradle命令和配置

小技巧:可在根目录的 build.gradle 中设置:

Android:Gradle,Gradle命令和配置 

然后xx/app/build.gradle 和 module 中的 

compileSdkVersion rootProject.ext.compileSdkVersion
...

等等就可以统一配置,避免主包和依赖包,版本不统一等冲突问题。

Android:Gradle,Gradle命令和配置

注释写的很明确了。

讲一下 ”buildTypes“:意为编译类型,这里声明了 debug 和 release 两种类型,当然你也可以声明其他类型,名字随意取,可以看到 debug 和 release 两种类型签名所用的配置不一样,这个配置具体详细也就是在上部分 signingConfigs 节点指定的,那里面的一些密码信息是在你生成 keystore 文件时设置的。

那么命令行打包:如果你 buildTypes 定义了一个 abc 的类型,那你就会有一个 gradlew assembleAbc 的 task 可以执行。

3,其他配置

Android:Gradle,Gradle命令和配置Android:Gradle,Gradle命令和配置

等等

4,多渠道打包

android 节点中

Android:Gradle,Gradle命令和配置

AndroidManifest.xml中

Android:Gradle,Gradle命令和配置

Application中

Android:Gradle,Gradle命令和配置

这样就实现了多渠道打包。

本期内容完毕。

Gradle 系列的基础知识,用了两期内容已记录完毕,参考了很多网友总结,自己重复写一遍也是记忆深刻。应该还会再写一期:小技巧和高级技能。加油!
Gradle 第一期:https://blog.****.net/u011287967/article/details/80883661