0
点赞
收藏
分享

微信扫一扫

Android studio里的gradle知多少?


在使用Android Studio开发android应用时,常常会用到Gradle来构建项目。 Gradle是一个通用的构建工具,着重于构建自动化和支持多语言开发,不局限于构建Android应用程序。

Android Studio 和 Gradle都不知道如何构建Android项目,但是有了Android Plugin for Gradle这个插件,就能够驱动整个构建系统。所以这个插件是 Android Studio 和 Gradle 之间的魔法链。我们在Android Studio里的Android项目都有如下的文件:

Android studio里的gradle知多少?_gradle

上图中所有含有gradle字符串的文件都是用于配置gradle的。

  • gradle-wrapper.properties
  • Android studio里的gradle知多少?_第三方库_02

  • 这个文件最重要的一个作用就是决定在构建项目时使用哪个 Gradle 版本。曾经下载过的所有Gradle 版本可以在~/.gradle/wrapper/dists/路径下看到。(Ubuntu环境)
    注意 :Gradle 版本是独立于Android插件版本的。
  • settings.gradle
    通过 include 命令完成将另一个模块Module添加到当前工程中。一般Android Studio 将会自动将其添加到这个文件中。
  • build.gradle
    从 Gradle 的角度来看,工程被认为是一个多工程构建,其中我们拥有一个根项目以及一个到多个子工程。从 Android 开发者的角度来看,这些子工程被称为 module(模块)。这就是有两个 build.gradle 文件的原因。一个是给根项目的,另一个是给app模块的。
    根项目的build.gradle:
  • Android studio里的gradle知多少?_android插件_03

  • (1)buildscript{} 配置Gradle编译本项目时需要的信息。
    (2)在buildscript中声明了Android Gradle 插件的依赖信息。“3.0.0” 表示使用的插件版本。
    (3)配置远程仓库,以便gradle可以在编译时帮我们从指定仓库中下载我们所需要的第三方库或框架。如这里配置了google() (Maven 代码库)和 jcenter() 。
    (4)在Gradle 项目中添加额外的属性,属性是可以在整个 Gradle 项目中访问的。也就是说Gradle的变量都是全局变量。如这里的定义的kotlin_version
    (5)allprojects{} 用于通知 Gradle 关于所有需要编译的子项目,如上图就是使用代码库集合来解决所有需要的依赖项。

app模块的build.gradle

Android studio里的gradle知多少?_gradle_04

(1)应用Android 插件,然后使用其扩展插件来应用 Kotlin Android插件。

(2)android{} 块工作的唯一原因是因为我们要求 Gradle 使用之前提到的 Android 插件。

(3)添加 Gradle 所依赖的第三方库的位置。注意在你的 app 的 build.gradle 中并没有 repositories{} 块。因为我们已经在根项目的 allprojects{} 块中声明了,这里就没有必要了。

(4)在根项目构建文件中的全局变量在这里被引用了。用这种方式在根项目的build.gradle配置依赖库的版本号,然后在模块中引用,以此方式来统一版本号,是个不错的想法。

谢谢阅读。


举报

相关推荐

0 条评论