论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
软件与程序人生
›
移动端开发
›
Android——Gradle插件gradle-wrapper.properties
Android——Gradle插件gradle-wrapper.properties
涛声依旧在
金牌会员
|
2024-10-2 08:11:27
|
显示全部楼层
|
阅读模式
楼主
主题
983
|
帖子
983
|
积分
2949
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
一、Android Studio版本,Android Gradle插件版本,Gradle版本
Android Studio 通过Android Gradle插件 使用 Gradle来构建代码;
Android Studio每次升级后, Android Gradle 插件自动更新,对应的Gradle版本也会变动;
因此会产生如下对应关系:
(1)Android Studio版本与Android Gradle插件版本对应关系
详细见官网描述:Android Gradle 插件版本说明 | Android 开发者 | Android Developers
如图所示
(2)Android Gradle 插件与Gradle版本对应关系
详细看官网描述:Android Gradle 插件版本说明 | Android 开发者 | Android Developers
如下图所示
(3)android studio Gradle插件配置位置
方式1:在项目根目录下build.gradle文件中进行配置
方式2:android studio中setting下project structure面板中project中设置
二、通过gradle-wrapper实现Gradle插件与Gradle版本适配
Gradle Wrapper 是 Gradle 的一种包装器,使得我们可以在不安装 Gradle 的环境下运行和构建我们的项目;
经常需要修改 gradle-wrapper.properties 配置文件 , 用于匹配 Android Gradle 插件版本 与 Gradle 版本 的对应关系 ;
(1)Gradle Wrapper 所在目录
gradle-wrapper.properties 文件通常位于项目根目录下的 /gradle/wrapper/ 目录中,是一个隐藏文件。为了避免误操纵,发起不要直接修改该文件,而是通过 Android Studio 提供的 Gradle 配置界面来修改 Gradle Wrapper 的设置。
(2)gradle-wrapper.properties配置属性文件说明
gradle-wrapper.properties 文件的作用在于为 Gradle Wrapper 提供必要的配置信息,以便 Gradle Wrapper 自动下载、安装和配置 Gradle 运行环境。通过修改 gradle-wrapper.properties 文件中的设置,我们可以控制 Gradle 版本、下载源、存储路径等参数,以定制化 Gradle 构建过程和环境。
distributionUrl:指定了 Gradle 发布版本的下载地址,Gradle Wrapper 将从该地址自动下载指定版本的 Gradle。
distributionSha256Sum:指定了 distributionUrl 对应 Gradle 版本的 SHA-256 校验和,用于校验下载的 Gradle 是否完整且未被窜改。
zipStoreBase和zipStorePath:指定了 Gradle Zip 包的存储路径,在第一次运行 Gradle Wrapper 时,Gradle 将会从 distributionUrl 下载 Gradle Zip 包,并解压到这个路径下。
distributionType:指定了 Gradle 的分发范例,可选值有 "bin" 和 "all"(默认值)。
GRADLE_USER_HOME 没有配置的话,默认是 ~/.gradle
(3)解决gradle国内下载失败,离线安装包配置问题
假如:distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
由于国内无法下载,可以通过迅雷(牛逼,浏览器下载不了,它可以),下载下来gradle-7.4-all.zip,可以本身放在电脑某个文件夹下。然后修改如下radle-wrapper.properties配置文件即可实现
#Sat Nov 12 21:00:23 CST 2022
distributionBase=GRADLE_USER_HOME
distributionUrl=file:///D:/GradleOffLinePackage/gradle-7.4-all.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
distributionType=all
复制代码
(三)gradle构建目录
在android studio项目下gradle的目录
├── build.gradle
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
复制代码
(1)build.gradle
build.gradle 是对某个项目的配置。配置 jar 依赖关系,定义或者引入 task 去完成项目构建。
(2)gradle-wrapper-properties
GRADLE_USER_HOME 没有配置的话,默认是 ~/.gradle
zipStoreBase 和 zipStorePath 定义了下载的 gradle (gradle-7.6-bin.zip) 存储的本地路径。
distributionBase 和 distributionPath 定义下载的 gradle 解压的本地目录。
wrapper 定义项目依赖那个版本的 gradle,假如本地 distributionPath 没有对应版本的 gradle,会自动下载对应版本的 gradle。
gradle-wrapper.jar 会判定是否下载 wrapper 配置的 gradle,并且将传递参数给下载的 gradle,并运行下载的 gralde 进行构建项目。
(3)gradle.properties
重要用于配置构建过程中用到的变量值。也可以配置一些 gradle 内置变量的值,用于修改默认构建行为。
org.gradle.logging.level=quiet
org.gradle.caching=true
org.gradle.parallel=true
org.gradle.jvmargs=-Xms512m -Xmx2g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
复制代码
org.gradle.jvmargs 用来配置 Daemon 的 JVM 参数,默认值是 -Xmx512m "-XX:MaxMetaspaceSize=384m"。
当我们的项目比较大的时候,可能会由于 JVM 堆内存不足导致构建失败,就需要修改此配置。
org.gradle.logging.level 调整 gradle 的日记级别。参考 gradle logging 选择想要的日记级别。
(4)gradlew和gradlew.bat
gradlew 是 macos 和 linux 体系下。
gradlew.bat 是 windows 体系下使用的
(5)settings.gradle
settings.gradle 重要用于配置项目名称,和包含哪些子项目。
也可以用于配置插件的依赖版本(不会应用到项目中去,除非项目应用这个插件)和插件下载的
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
涛声依旧在
金牌会员
这个人很懒什么都没写!
楼主热帖
MySQL基本SQL语句之高级操作
maven配置步骤及问题
Juc并发编程12——2万字深入源码:线程 ...
史上最全MongoDB之部署篇
IOS OpenGL ES GPUImage 图像黑白色调 ...
【云原生】裸金属架构之服务器安装VMWa ...
Flink-基于 DataStream API 实现欺诈检 ...
一文读懂K-Means原理与Python实现 ...
大数据ETL开发之图解Kettle工具(入门 ...
Mysql进阶优化篇01——四万字详解数据 ...
标签云
AI
运维
CIO
存储
服务器
快速回复
返回顶部
返回列表