Android studio里的gradle知多少?

举报
yd_221104950 发表于 2020/12/03 00:13:44 2020/12/03
【摘要】 在使用Android Studio开发android应用时,常常会用到Gradle来构建项目。 Gradle是一个通用的构建工具,着重于构建自动化和支持多语言开发,不局限于构建Android应用程序。 Android Studio 和 Gradle都不知道如何构建Android项目,但是有了Android Plugin for Gradle这个插件,就能够驱动整个构建...

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

Android Studio 和 Gradle都不知道如何构建Android项目,但是有了Android Plugin for Gradle这个插件,就能够驱动整个构建系统。所以这个插件是 Android Studio 和 Gradle 之间的魔法链。我们在Android Studio里的Android项目都有如下的文件:
在这里插入图片描述上图中所有含有gradle字符串的文件都是用于配置gradle的。

  • gradle-wrapper.properties
    在这里插入图片描述
    这个文件最重要的一个作用就是决定在构建项目时使用哪个 Gradle 版本。曾经下载过的所有Gradle 版本可以在~/.gradle/wrapper/dists/路径下看到。(Ubuntu环境)
    注意 :Gradle 版本是独立于Android插件版本的。

  • settings.gradle
    通过 include 命令完成将另一个模块Module添加到当前工程中。一般Android Studio 将会自动将其添加到这个文件中。

  • build.gradle
    从 Gradle 的角度来看,工程被认为是一个多工程构建,其中我们拥有一个根项目以及一个到多个子工程。从 Android 开发者的角度来看,这些子工程被称为 module(模块)。这就是有两个 build.gradle 文件的原因。一个是给根项目的,另一个是给app模块的。
    根项目的build.gradle:
    在这里插入图片描述(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
在这里插入图片描述(1)应用Android 插件,然后使用其扩展插件来应用 Kotlin Android插件。
(2)android{} 块工作的唯一原因是因为我们要求 Gradle 使用之前提到的 Android 插件。
(3)添加 Gradle 所依赖的第三方库的位置。注意在你的 app 的 build.gradle 中并没有 repositories{} 块。因为我们已经在根项目的 allprojects{} 块中声明了,这里就没有必要了。
(4)在根项目构建文件中的全局变量在这里被引用了。用这种方式在根项目的build.gradle配置依赖库的版本号,然后在模块中引用,以此方式来统一版本号,是个不错的想法。

谢谢阅读。

文章来源: blog.csdn.net,作者:WongKyunban,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_40763897/article/details/103500928

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。