【Android】Android 项目里面为啥有两个地方设置Gradle

问题描述

通常,在项目的根目录下的 build.gradle 文件中配置。例如:

buildscript {repositories {google()jcenter()}dependencies {classpath 'com.android.tools.build:gradle:3.1.3'}
}

然后还有在位于项目根目录下的 gradle/wrapper/gradle-wrapper.properties 文件中。例如:

distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-bin.zip

这两个位置都做了一些配置,而且都和Gradle有关系,所以这俩东西到底是什么关系呢?

问题回答
classpath ‘com.android.tools.build:gradle:3.1.3’

Android Gradle 插件: 这是一个专门用于构建 Android 应用程序的插件。Android Gradle 插件提供了一组任务和配置来简化 Android 应用程序的构建过程,例如编译资源和代码、打包 APK、生成签名 APK 等。

版本号: '3.1.3' 是这个插件的具体版本号。不同版本的插件可能会引入新功能、性能改进、bug 修复,或者支持新的 Android SDK 和工具。


distributionUrl=https://services.gradle.org/distributions/gradle-4.4-bin.zip

Gradle 分发版本: 这是指定项目所使用的 Gradle 版本。Gradle 是一个通用的构建工具,用于自动化项目的构建、测试和部署。Gradle 本身与 Android 无关,可以用于任何类型的项目。

Gradle Wrapper: distributionUrl 是 Gradle Wrapper 的配置,它指向一个特定版本的 Gradle 分发包。当你执行./gradlew buildgradlew.bat build 时,Gradle Wrapper 会自动下载并使用这个指定版本的 Gradle。

关系和配合

Android Gradle 插件和 Gradle 版本: Android Gradle 插件依赖于特定版本的 Gradle,因此需要确保它们之间的兼容性。通常,Android Gradle 插件的版本文档会列出支持的 Gradle 版本范围。例如,com.android.tools.build:gradle:3.1.3 版本可能支持 Gradle 4.4。

协调更新: 当更新 Android Gradle 插件版本时,通常也需要检查并可能更新 Gradle 版本,以确保它们之间的兼容性。例如,如果从插件版本 3.1.3 升级到 4.1.0,可能也需要从 Gradle 4.4 升级到 6.x。

总结

Android Gradle 插件 (classpath ‘com.android.tools.build:gradle:3.1.3’): 配置构建 Android 应用所需的插件及其版本。

Gradle 分发版本 (distributionUrl=https://services.gradle.org/distributions/gradle-4.4-bin.zip): 配置项目使用的 Gradle 引擎版本。

这两者共同作用,确保 Android 项目能够正确构建和运行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/30838.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【IDEA】扩大虚拟机栈空间操作

输入命令参数-Xss 要更改的空间大小

宝塔板面有哪些优势

哈喽呀,大家好呀,淼淼又来和大家见面啦,在当今数字化时代,随着云计算和互联网技术的飞速发展,服务器管理成为了许多企业和个人开发者不可或缺的一部分。然而,传统服务器管理方式的复杂性和技术门槛往往令初…

查询mysql库表的几个语句

1、查询某个数据库的所有表 SELECTtable_name FROMinformation_schema.TABLES WHEREtable_schema database_namedatabase_name替换成你需要查询的数据库名称 2、查询某张表的所有字段名称 SELECTCOLUMN_NAME,column_comment FROMinformation_schema.COLUMNS WHEREtable…

Power BI 时间智能函数

一、基础知识 1,环比:MOM (Month over Month ) (当前月金额- 上月金额)/上月金额*100 2,同比:YOY (Year over Year ) (当前月金额- 上一年金额)/上一年金额*100 3,年…

华为HCIP Datacom H12-821 卷8

1.单选题 下面哪种属性必须存在于 BGP 的 Update 报文中? A、AS-PATH B、LOCAL-PREF C、MED D、PrefVal 正确答案: A 解析: 公认必须遵循(Well-knownmandatory):所有BGP设备都可以识别此类属性,且必须存在于Update报文中。如果缺少这类属性,路由信息就会出错。 BGP公认…

LeetCode 1164, 125, 94

目录 1164. 指定日期的产品价格题目链接表要求知识点思路代码 125. 验证回文串题目链接标签简单版思路代码 复杂版思路代码 94. 二叉树的中序遍历题目链接标签递归思路代码 迭代思路代码 1164. 指定日期的产品价格 题目链接 1164. 指定日期的产品价格 表 表Products的字段为…

AI 编译器技术分享会:上海交大/中科院计算所/微软亚研/智源,他们来了!

4 场 Meetup、3 个城市、19 位嘉宾、1k 行业从业者、累计 100w 曝光, 2023 年 AI 编译器社区小小刷新了一下存在感,我们在非常细分的领域里找到了最为垂直的开发者和工程师,从 0 到 1 建立起一个个小据点,搭建交流平台、促成企内合…

MySQL功能测试-之应用工程

MySQL功能测试-之应用工程 前言pom.xmlapplication.yml 文件common.vo 包ResultVO config 包properties 包DruidConfigPropertyDruidMonitorProperty AutoFillMetaObjectHandlerDruidConfigFluxConfigurationMyBatisPlusConfig controller 包ClientControllerDruidControllerWe…

操作系统之如何使用C语言完成SFJ和SRTJ,并完成他的甘特图

目录 前言 SFJ SRTJ 结束语 前言 不知不觉已经写博客一个月了,前段时间因为学业上的一些原因咕咕咕了,今天我又回来了。今天我给大家带来的是C语言代码完成的SFJ和SRTJ,并且带大家描述他的甘特图。如果有对SFJ和SRTJ不了解的小伙伴可以翻…

Flink Sql Redis Connector

经常做开发的小伙伴肯定知道用flink连接redis的时候比较麻烦,更麻烦的是解析redis数据,如果rdis可以普通数据库那样用flink sql连接并且数据可以像表格那样展示出来就会非常方便。 历时多天,我终于把flink sql redis connector写出来了&…

【C语言】手写学生管理系统丨附源码+教程

最近感觉大家好多在忙C语言课设~ 我来贡献一下,如果对你有帮助的话谢谢大家的点赞收藏喔! 1. 项目分析 小白的神级项目,99%的程序员,都做过这个项目! 掌握这个项目,就基本掌握 C 语言了! 跳…

idea http client GET 请求 报503错误

idea 提供的 http client 插件,在 GET 请求时总是 报503 的错误,但请求URL可以在浏览器中正常访问。 GET localhost:8080/student Response file saved. > 2024-06-20T160906.503.html 有一种原因跟本地配置的代理有关,如下图。如果在…

大模型应用场景在哪?探索人工智能的无限可能

随着人工智能技术的飞速发展,大模型在自然语言处理、计算机视觉、推荐系统等领域取得了显著成果。这些大模型,如OpenAI的GPT-3、谷歌的BERT、百度的ERNIE等,不仅在学术界引起了巨大反响,也在产业界得到了广泛应用。本文将以大模型…

sqlcoder实践

背景 Defog llama-3 意义 翻译自然语言到sql,类似脑机接口,大模型重要应用领域 sql是数据库查询标准;关系数据库,工具(datax,sqoop,logstash,hive),非关系数据库(MongoDB,图数据库&#xff…

上新:NFTScan 正式上线 Bitcoin-brc20 浏览器!

近日,NFTScan 团队正式对外发布了 Bitcoin-brc20 浏览器,将为 Bitcoin 生态的 NFT 开发者和用户提供简洁高效的 NFT 数据搜索查询服务。作为比特币生态中最火热的标准之一,brc20 也吸引着广泛的关注。洞悉其巨大潜力,NFTScan 对 b…

协同编辑:只是在线协作这么简单吗?揭秘协同编辑的深层价值

经常很多朋友咨询,无忧企业文档是否支持协同编辑,首先肯定是支持的。但是,我发现很多人对于“协同编辑”的理解可能比较表面,仅仅停留在多人同时编辑一份文档的层面。实际上,协同编辑的功能远不止于此,它更…

单链表的拆分(不创建新的链表)

分数 5 作者 李卫明 单位 杭州电子科技大学 1.4 编写程序,输入若干正整数,按从小到大次序建立1个带头结点单链表,设计一个实现单链表分离算法的Split函数,将原单链表中值为偶数的结点分离出来形成一个新单链表,新单…

1039. 多边形三角剖分的最低得分

Problem: 1039. 多边形三角剖分的最低得分 文章目录 思路解题方法复杂度Code 思路 对于多边形三角剖分的最低得分问题,我们可以使用动态规划来解决。首先,将问题分解为更小的子问题:选择一个顶点作为三角形的一个顶点,然后计算剩下…

两个方法,批量替换PPT中的字体

经常制作ppt的朋友可能会遇到需要批量替换字体的情况,如果我们想要更换ppt中的字体,今天分享PPT批量替换字体的两个方法。 方法一: 找到功能栏中的编辑选项卡,点击替换 – 替换字体,在里面选择我们想要替换的字体就可…

通过MindSpore API实现深度学习模型

快速入门 将相应的包逐一导入到项目中,这是制作项目的第一步。 import mindspore from mindspore import nn from mindspore.dataset import vision, transforms from mindspore.dataset import MnistDataset 处理数据集 先从网上下载对应的数据集文件,MindSpor…