Android——Gradle插件gradle-wrapper.properties

打印 上一主题 下一主题

主题 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配置文件即可实现
  1. #Sat Nov 12 21:00:23 CST 2022
  2. distributionBase=GRADLE_USER_HOME
  3. distributionUrl=file:///D:/GradleOffLinePackage/gradle-7.4-all.zip
  4. distributionPath=wrapper/dists
  5. zipStorePath=wrapper/dists
  6. zipStoreBase=GRADLE_USER_HOME
  7. distributionType=all
复制代码


(三)gradle构建目录

在android studio项目下gradle的目录
  1. ├── build.gradle
  2. ├── gradle
  3. │   └── wrapper
  4. │       ├── gradle-wrapper.jar
  5. │       └── gradle-wrapper.properties
  6. ├── gradle.properties
  7. ├── gradlew
  8. ├── gradlew.bat
  9. ├── 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 内置变量的值,用于修改默认构建行为。
  1. org.gradle.logging.level=quiet
  2. org.gradle.caching=true
  3. org.gradle.parallel=true
  4. 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 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

涛声依旧在

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表