😄作者简介: 小曾同学.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年,愿我们笑对人生,积极向上,成为更好的自己!