丙午🐎年

acc8226 的博客

因为我们发布或者推广的渠道不同,就造成了我们的 Android App 可能会有很多个,因为我们需要细分他们,才能针对不同的渠道做不同的处理,比如统计跟踪、是否升级、App 名字是否一致等等。尤其在国内这个各种应用市场百家争鸣的时代,我们需要发布的 App 渠道甚至多个好几百个,而且各有各的特殊处理,所以这就更需要我们有一套自动的满足多渠道构建的工具来帮我们解决这个问题,有了 Android Gradle 的 Flavor 后,我们就可以完美的解决以上问题,并且可以实现批量自动化。这一章主要介绍多渠道构建的基本原理,然后使用 Flurry 和友盟这两个最常用的分析统计平台作为例子来演示多渠道构建,接着我们介绍下 Flavor 的每个配置的用法,让大家可以根据需求定制自己的每个渠道,最后我们会介绍一种快速打包上百个渠道的方法,以提高多渠道构建的效率。

11.1 多渠道构建的基本原理

在Android Gradle中,定义了一个叫 Build Variant 的概念,直译是构建变体,我喜欢叫它为构件-构建的产物(Apk),一个Build Variant=Build Type+Product Flavor,Build Type 就是我们构建的类型,比如 release 和 debug,Product Flavor 就是我们构建的渠道,比如 baidu,google 等等,他们加起来就是 baiduRelease,baiduDebug,googleRelease,googleDebug,共有这几种组合的构件产出,Product Flavor 也就是我们多渠道构建的基础,下面我们看看如何新增一个Product Flavor。

阅读全文 »

Android 的多项目和其他基于 Gradle 构建的多项目是差不多,比如 Java 多项目、Groovy 多项目,他们本身都是 Gradle 的多项目构建,唯一的区别是项目本身属性,比如这个项目是 Java 库、那个是 Android App 项目等等。

这一章我们简单的介绍下 Android 不同类型的项目,他们如何设置,如何引用以及库项目如何单独发布,像因多项目导致的 65535 等问题我们已经在上一章节做了介绍,这里就不再重复了。

10.1 Android 项目区别

Android 的项目一般分为 库项目、应用项目、测试项目,Android Gradle 根据他们分别有 3 种插件
com.android.library、com.android.application、com.android.test。

库项目一般和我们的 Java 库非常相似,它比 Java 多的是一些 Android 特有的资源等配置。一般一些具有公用特性的类、资源等可以抽象成一个库工程,这样他们就可以被其他不用的项目引用;还有一种情况,比如我们的工程非常负责,我们可以根据我们业务,把我们的工程分成一个个的库项目,然后通过一个主的应用项目引用他们,组合起来,就是我们最终的产品->一个复杂的 App 了。

阅读全文 »

上一章我们已经介绍了 Gradle 脚本的基础,在其中我们也强调了 Gradle 中最要的 Projects 和 Tasks这两个概念,尤其是Tasks,我们的所有 Gradle 的构建工作都是由 Tasks 组合完成的,那么这一章我们就详细的介绍下 Tasks 任务。
任务的介绍也是从实用性出发,比如如何多种方式创建任务,如果访问任务的方法和属性等信息,如果对任务进行分组、排序,以及任务的一些规则性知识。

第一种是直接以一个任务名字创建任务的方式:

1
2
3
4
5
6
//1:
def Task createTask1 = task(creatTask1)
//配置doLast方法
creatTask1.doLast{
println "创建方法原型: Task task(String name)"
}
阅读全文 »

记录

在 build.gradle.kts 添加 maven 仓库

1
2
3
4
5
6
repositories {
maven {
url = uri("https://mirrors.cloud.tencent.com/nexus/repository/maven-public/")
// 或者 setUrl("http://maven.aliyun.com/nexus/content/groups/public/")
}
}
阅读全文 »

终端软件

https://git-scm.com/downloads | Git-for-windows 阿里源地址

windows 平台我一般会下载便捷版。

图形化软件

windows 环境下已经自带了 gitk,如果觉得还是不好使的话。Java 开发者使用的 ide 也有相应的支持,一般足够使用。

【windows 推荐】TortoiseGit

TortoiseGit 和 windows 资源管理器有很好的集成

阅读全文 »
0%