Android Studio 中的 Gradle 是什么

2023-11-15

Gradle 是什么

学习内容:

Gradle 是一个构建系统。

在使用 Android Studio 之前,您将Eclipse用于开发目的,而且很可能您不知道如何在没有 Eclipse 的情况下构建您的 Android APK 。

您可以在命令行上执行此操作,但您必须了解每个工具( dx和AAPT )在 SDK 中的作用。 Eclipse 为我们提供了自己的构建系统,使我们免于这些低级但重要的基本细节。

现在,您有没有想过为什么res文件夹与您的src文件夹在同一目录中?

这是构建系统发挥作用的地方。 构建系统会自动获取所有源文件( .java或.xml ),然后应用适当的工具(例如,获取.java类文件并将它们转换为.dex文件),并将所有这些文件组合成一个压缩文件 - 我们的亲爱的APK。

这个构建系统使用一些约定:一个例子是指定包含源文件(在 Eclipse 中为\src文件夹)或资源文件(在 Eclipse 中为\res文件夹)的目录。

现在,为了自动化所有这些任务,必须有一个脚本; 您可以使用 Linux 中的 shell 脚本或 Windows 中的批处理文件语法编写自己的构建系统。 知道了?

Gradle 是另一个构建系统,它从其他构建系统中获取最佳功能并将它们组合在一起。 它是根据他们的缺点进行改进的。 它是一个基于 JVM 的构建系统。 这意味着您可以使用 Android Studio 使用的 Java 编写自己的脚本。

Gradle 的一个很酷的地方是它是一个基于插件的系统。 这意味着,如果您有自己的编程语言,并且想要自动执行从源代码构建一些包(如 Java 的JAR文件的输出)的任务,那么您可以使用 Java 或Groovy (或Kotlin ,请参阅此处)编写一个完整的插件,并将其分发到世界其他地方。

谷歌为什么使用它?
Google 看到了市场上最先进的构建系统之一,并意识到您无需学习 Groovy 或任何其他新语言即可编写自己的脚本,几乎不需要学习曲线。 所以他们为 Gradle 编写了 Android 插件。

你一定在你的项目中看到过build.gradle文件。 在这里您可以编写脚本来自动化您的任务。 您在这些文件中看到的代码是 Groovy 代码。 如果你写System.out.println(“Hello Gradle!”); 然后它将打印在您的控制台上。

您可以在构建脚本中做什么?
一个简单的例子是,在实际构建过程发生之前,您必须将一些文件从一个目录复制到另一个目录。 Gradle 构建脚本可以做到这一点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android Studio 中的 Gradle 是什么 的相关文章

随机推荐

  • python3 sys.argv.py

    模块 01 sys argv py 功能 获取命令行参数 参考 https www runoob com python3 python3 command line arguments html 命令行 python 01 sys argv
  • 利用Fragment编写简易新闻界面,布局同时适应Android手机和平板电脑

    大家好 最近从事培训工作碰到一个练习题 利用Fragment编写简易新闻界面 并且布局能同时适应手机和平板电脑 这是书本上的一个练习题 题目本身没多大难度 个人觉得作者代码的模块化做得比较好 所以拿出来分享 同时自己学习也复习 巩固一下 首
  • 运行vue项目出现错误 SyntaxError:Unexpected identifier

    运行vue项目出现错误 SyntaxError Unexpected identifier 1 运行从svn拉下来的项目 下载完依赖 执行npm install 后 运行出现此错误 2 试了很多方式 重新导入项目 重新下载依赖 查看错误日志
  • Python手册(Python Basics)--Python进阶

    Python 标准库非常庞大 所提供的组件涉及范围十分广泛 正如以下内容目录所显示的 这个库包含了多个内置模块 以 C 编写 Python 程序员必须依靠它们来实现系统级功能 文章目录 字符串 字符串方法 格式化字符串 字符串常量 file
  • C++——并发之std::async使用注意的坑,以及promise,future

    promise背景1 promise背景2 async 1 async 与promise future 1 1 async以及获取时间 async函数如下所示 template
  • matlab-min函数

    matlab对二维矩阵用min函数的用法如下 C min A 如果A是一个向量 min A 返回A中的最小元素 如果A是一个矩阵 min A 将A的每一列作为一个向量 返回一行向量包含了每一列的最小元素 C min A B 返回一个和A和B
  • 不看绝对血亏!java面试项目中的技术难点

    正文 MyBatis 的整体架构分为三层 分别是基础支持层 核心处理层和接口层 如下图所示 基础支持层 反射模块 该模块对 Java 原生的反射进行了良好的封装 提供了更加简洁易用的 API 方便上层使调用 并且对反射操作进行了一系列优化
  • 一边是计算机就业哀鸿遍野,一边是高考生疯狂涌向计算机专业

    在张雪峰推荐的几大专业里 计算机专业是其中之一 近几年 计算机专业报考热度不减 但就业前景却令人堪忧 互联网裁员接二连三 许多码农找不到工作 一位网友感叹 一边是计算机就业哀鸿遍野 一边是高考生疯狂涌向计算机专业 太魔幻了 有人说 大部分家
  • 解决报错:java.net.BindException: 无法指定被请求的地址

    今天在linux虚拟机上装了tomcat 但是一直启动不了 查看日志 主要报错如下 严重 StandardServer await create localhost 8005 java net BindException 无法指定被请求的地
  • VCS IDEA没有Enable Version Control Intergration

    在使用IDEA 提交git push到远程上 找到快忘了的流程 仿照着一步步来 发现都有一个步骤就是指定使用版本管理工具 Enable Version Control Integration 我这找了找发现没有 确实是有这一步指定 版本管理
  • 基于 springboot+vue 进行多条件查询历史聊天记录

    查询历史聊天记录 多条件查询记录是经常需要进行编写的功能 这里就以多条件查询历史聊天记录为例子来介绍如何进行基于关键字 日期 聊天记录类型 三种条件进行模糊查询 日期拼接 条件拼接查询 前端 抽屉管理 首先我们控制 element ui 的
  • spring-boot+maven运行和调试的配置

    spring boot maven 首先说直接运行 WIP Saved Searches migrated to WS 6 0 NJ数据下载工具 基于spring boot的小工具运行方法 在控制台上跳转到项目里initial文件夹所在的目
  • 火币什么时间服务器维护,火币全球站已于今日21:45进行系统维护,时间?

    8月10日消息 Twitter在6月30日发布的NFT系列 The 140 Collection 在OpenSea NFT市场上创造了1700 ETH 530万美元 的总交易量 虽然这个数字远低于Axis Infinity和CryptoPu
  • 一个简单的CountDownLauch

    这个类的主要功能就是 当多个线程运行的时候 count满足一定的条件的时候 这里为0 部分线程才开始工作 具体如下 include
  • Python py文件打包成 exe文件

    文章目录 安装 pyinstaller 模块 pyinstaller 的使用 pyinstaller 常用参数 多文件打包 安装 pyinstaller 模块 pip install pyinstaller i https pypi tun
  • 个人简历与自我介绍

    尊敬的面试官你好 我叫谢炜豪 我对本次校招的软件研发工程师和C 开发工程师很感兴趣 希望能得到在贵公司发挥作用的机会 以下是我的自我介绍 我所学的专业是计算机科学与技术 在校期间 除了专业的必修课程之外 我还重点学习了C 语言 能够熟练使用
  • linux sftp目录无法切换,linux – SFTP用户无法编辑或创建文件

    要正确chroot sftponly组成员 您需要在 etc ssh sshd config中设置此选项 Subsystem sftp internal sftp Match Group sftponly ChrootDirectory s
  • 多线程入门学习

    多线程 目录 多线程 1 继承Thread类 2 网图下载 3 初识并发问题 4 龟兔赛跑 5 lamda表达式 6 线程休眠Sleep 1 sleep 时间 指定当前线程阻塞的毫秒数 2 sleep存在异常InterruptedExcep
  • canvas圆球碰撞检测

    本文为canvas绘制圆形碰撞检测 圆形与圆形 后期一直更新哦 x 圆横坐标 y 圆纵坐标 r 圆半径 w 浏览器宽度 h 浏览器高度 arc画圆碰撞 move移动后 碰撞浏览器边缘反弹回来 碰撞检测 x r lt 0 浏览器左边缘 x r
  • Android Studio 中的 Gradle 是什么

    Gradle 是什么 学习内容 Gradle 是一个构建系统 在使用 Android Studio 之前 您将Eclipse用于开发目的 而且很可能您不知道如何在没有 Eclipse 的情况下构建您的 Android APK 您可以在命令行