背景
平时安卓项目编译较慢,其中一个原因就是要下载依赖资源包比较慢。为了解决这个问题,可以配置阿里云镜像,加速下载。
配置方法
全局配置
这种配置对所有项目默认都会生效,会自动替换默认的链接为阿里云镜像链接。
在 用户目录/.gradle
目录下新增文件 init.gradle
.
给 init.gradle
文件添加内容,下面代码直接复制粘贴进去:
不知从那天起突然发现构建 Android 工程下载依赖库的时候会发生一个错误:
PKIX:unable to find valid certification path to requested target
这个问题我查找了网上相关资料,最后总算是解决了,在这里记录一下。
前面几篇基本上对Gradle构建在Android中的使用场景和流程都有了大致了解,包括如何使用以及如何自定义插件等,这些基本都是基于官方的教程引导来了解的。接下来我们通过几篇文章来深入了解一下具体的几个核心知识点,今天就以Groovy语法为切入点,接下来几篇你可能还会看到关于标准的Gradle插件、Maven插件、自定义构建等具体的知识点相关文章。
在Apache的groovy-lang.org
官网可以看到一句很醒目的话:
A multi-faceted language for the Java platform / 一个Java平台的多窗口语言
从这一句话中我们可以得知它的重要性,它可以帮助我们方便的使Java平台和其他语言交互,它也是一个面向对象的语言。这门动态语言拥有类似Python、Ruby和Smalltalk中的一些特性,可以作为Java平台的脚本语言使用。由于其运行在JVM上的特性,Groovy可以使用其他Java语言编写的库。Groovy的语法与Java非常相似,大多数Java代码也符合Groovy的语法规则,尽管可能语义不同。
在前面几篇对Gradle的使用大致有了认识,我们在实际开发中某些情况下不仅仅需要配置构建而且需要自定义一些构建过程,这个时候就需要用到自定义Gradle插件了,自定义插件有三种方式:
开发Gradle插件可以在IDEA中进行开发,也可以在Android Studio中进行开发,它们唯一的不同,就是IDEA提供了Gradle开发的插件,比较方便创建文件和目录,而Android Studio中,开发者需要手动创建(但实际上,这些目录并不多,也不复杂,完全可以手动创建,而且在AS中进行创建有利于进行插件依赖的调试和功能的完善)。
在app的build.gradle最底下添加如下代码:
|
|
参考链接:
Maven帮助我们标准化了构建过程。
因为IDE的这些不完美:
所以项目构建工具的出现来弥补这些不足。
参考链接:
在Android中除了标准的SDK还存在两种库:
一种是add-ons库(位于sdk的add-ons目录下,大部分是第三方厂商或者公司开发的) 一种是optional库(位于platforms/android-xx/optional目录下,一般是为了兼容旧版本的API)
第一类库Android Gradle会自动解析,帮我们添加到classpath中。 第二类库需要我们自己手动添加到classpath中。
|
|
最好在AndroidManifest文件里面配置一下uses-library标签,类似于google Maps如下:
|
|
参考链接:
Android Gradle插件是Google专门为Android工程做的一个Gradle的第三方插件。它可以完成测试、部署、签名和分发打包apk.
关于Gradle构建原理和过程请看《Gradle构建过程浅析》
如上图,典型的Android应用模块构建流程通常依循如下步骤:
|
|
参考链接:
假设条件:
此时你已经有了JDK6.0以上版本,并配置了环境变量。 此时已经在你的电脑上安装了Android Studio并且新建了一个最简单的工程。
下载并解压:从Gradle官方网站上下载Gradle的发行包。
|
|
配置环境变量:
GRADLE_HOME –> ~\gradle\gradle-4.6 PATH –> %GRADLE_HOME%\bin
测试安装结果:可以通过运行gradle
命令或者gradle -v
来查看是否安装成功。
新建android-gradle目录,并在其中新建文件build.gradle(Gradle自带了Groovy库,因此不需要安装Groovy)
|
|
在android-gradle目录执行命令gradle -q hello
|
|
这里定义了一个任务(task),任务中执行了打印输出操作,接下来我们看看什么是任务。