Gradle系列之大锅菜汇总

news/2024/5/20 2:34:07 标签: android studio, Gradle, gradlew, Android闭包, Tasks

😄作者简介: 小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD
如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。
😊 座右铭:不想当开发的测试,不是一个好测试✌️。
如果感觉博主的文章还不错的话,还请点赞、收藏哦!👍

我们部门有一个比较好的传统——每周分享,最近要轮到我了,我选择的分享内容是Gradle,所以花了两周的时间稍微系统的学习了下Gradle相关知识,当然后续也会把详细的知识点补上。(本篇是栏目介绍


收获

当给研发做CI时,研发经常会抛出一些命令,比如:./geadlew app:upd:assemble,为了了解这些都表示什么含义,所以就花时间系统的去了解Gradle相关的知识。如果你问我系统学习新技术的心得体会是什么,想必是豁然开朗的无知。豁然开朗表示理解了之前使用这个工具的含义,无知表示随着深入理解的越多,越感觉还有很多东西需要学习。后续也会把小编在学习的过程中遇到的问题,分享出来,防止大家踩坑。在本栏目中,您将学习到以下内容 (具体内容将在后续文章中体现)

Gradle系列文章链接
Gradle是定义及基本使用https://blog.csdn.net/weixin_42182599/article/details/134617220?spm=1001.2014.3001.5501
Gradle中build.gradle详细介绍
Gradle Project与Gradle调度
Gradle Task 创建与执行
Gradle生成APK正式签名
Gradle 如何多渠道打包

成果

学习这些内容之后,就会了解 Android Studio 对应的 Android 项目中对应的两个build.gradle脚本文件分别表达的含义,也会了解 Android闭包buildTypes 闭包的概念。知道怎么自定义APK文件名,怎么通过 Gradle 生成正式签名。

apply plugin: 'com.android.application'
android {
    compileSdkVersion 30
    defaultConfig {
        applicationId "com.qiniu.droid.rtc.demo"
        minSdkVersion 18
        targetSdkVersion 30
        versionCode 43
        versionName "5.2.3"
        buildConfigField "long", "BUILD_TIMESTAMP", System.currentTimeMillis() + "L"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

也会了解到 Android Studio 点击Run背后发生了什么?,实际执行了哪些task,这些task有怎样的依赖的关系等等内容。

在这里插入图片描述
另外,你会了解到在Gradle中每个待编译的工程称为Project,每个Project在构建时都包含一系列的Task,而每个task代表了构建过程中的一个原子性操作,比如编译、打包、发布等这些操作。你也会了解多渠道打包的概念及实战等等一系列内容。

让我们共同保持好奇心,开启我们新的篇章。

迎接2024年,愿我们笑对人生,积极向上,成为更好的自己!


http://www.niftyadmin.cn/n/5301004.html

相关文章

Elasticsearch:带有自查询检索器的聊天机器人示例

本工作簿演示了 Elasticsearch 的自查询检索器 (self-query retriever) 将问题转换为结构化查询并将结构化查询应用于 Elasticsearch 索引的示例。 在开始之前,我们首先使用 langchain 将文档分割成块,然后使用 ElasticsearchStore.from_documents 创建…

pip安装报错SSL

confirming the ssl certificate: HTTPSConnectionPool(hostmirrors.cloud.tencent.com, port443) 错误代码如上 偶然搜索:ubuntu pip出错 confirming the ssl certificate: HTTPSConnectionPool(host‘mirrors.cloud.tencent.com’, port443) 看到这个回答 【日常踩…

干掉“卧槽”!首个支持中文及跨语言查询的开源在线反向词典!

大家好,我是 Java陈序员。 我们在生活中,会遇到一些有趣的人和事,或者是一些令人惊叹的风景。想表达抒发自己心情的时候,到嘴边往往却只能说一句“卧槽”! 别问我为啥知道,因为“俺也一样”! 今…

C++Qt6 哈夫曼编码求解 数据结构课程设计 | JorbanS

一、 问题描述 在进行程序设计时,通常给每一个字符标记一个单独的代码来表示一组字符,即编码。在进行二进制编码时,假设所有的代码都等长,那么表示 n 个不同的字符需要 位,称为等长编码。如果每个字符的使用频率相等&…

识别pdf中论文标题并重命名PDF名称(2024.1.2,第二次更新)判断标题中是否以空格结尾

63~66行增加语句,判断标题是否以空格结尾 83~85行增加语句,判断选句是否以空格结尾 import os import timeimport fitzdef find_largest_font_sentence(pdf_path):largest_font_size 0largest_font_sentence maxsize0# 打开PDF文件document fitz.ope…

第6章-第2节-Java中的String类

1、字符串体系:又被称为不可变的字符序列 理解:描述生活中的一句话,内容可长可短,长到没有上限要求,短到可以没有内容 类型:java.lang.String类 特点: 1)、不可以被别的类继承…

带领残障朋友穿“粤”两千年,沉浸式体验传统文化魅力

为以高质量多样化的文化供给丰富残障人士精神追求和文化价值观,进一步提高残障人士享有公共文化服务的水平,满足残障人士多层次的文化需求和对美好生活的向往,12月28日,黄埔区惠民社会服务中心开展开展第四届“创善?微创投”广州…

网络安全—PGP8.1软件应用

文章目录 安装PGP8了解工作原理 PGP使用准备工作加密与解密加密者视角(发送方)接收者视角(接收方) 签名签名方(发送方)验证签名方(接收方) 补充加密签名一段文字签名后的格式 验证解…