不懂就学系列(三):gradle多版本打包和AS运行版本选择

前言:最近接到一个任务,就是要给我们的app同时打过个版本,用于不同环境,然后发现,如果手动配置,一来麻烦,二来还容易出错(好吧,我比较粗心),所以,就查了不少资料,和实验了一把,这里就分享一下(我这里的不说是最好的,但绝对是最详细的)

因为,这个纯属操作性的东西,没多少原理可以讲,就直接上步骤吧。

1.找到你的build.gradle


不懂就学系列(三):gradle多版本打包和AS运行版本选择_第1张图片

2.找出里面有android这项的gradle


不懂就学系列(三):gradle多版本打包和AS运行版本选择_第2张图片

3.在这个android目录下添加一个新的目录:productFlavors{}顺便提一下,这个productFlavors是配置产品特性的,比如我们的appname

4.在productFlavors目录下,添加版本(或者叫产品吧)比如我下面这样


不懂就学系列(三):gradle多版本打包和AS运行版本选择_第3张图片

ok,看到这里,大致怎么建目录,是清楚了吧,但是呢,可能还是不明白这里面这些是什么意思?

好的,现在就里面这些东西我们来具体聊聊呗:

以第一个为例:


如果,你想问,这里面的标签什么意思,不好意思,这里不解释,这就是一种语法Groovy,想了解的,自行百度。就仿佛说java中的map一样,用就好。

ok前三个都不说了,第4个,还需要在说一下,这个是关于清单文件的配置,所以需要说明一下,所谓一通百通嘛,这里是百度地图为例的,当然像什么微信呀,分享呀之类的,其实也是一样的。

5.配置清单文件中的百度地图key


不懂就学系列(三):gradle多版本打包和AS运行版本选择_第4张图片

ok,这样就可以了,是不是很简单,就是再清单配置文件中,这个原本要写死的value改为动态的获取对应value,这里,不需要多想,照着写就好(如果想知道为什么,了解xml语法和 Groovy语法)

6.使用(主要是指代码中使用)

ok,现在都配置好了,一个个讲解怎么用

首先是URL的使用,就是根地址:

在你的配置地址的地方,用BuildConfig.API_URL就可以去得到了。是不是很容易。

至于其他的,就没什么需要代码中去实现了。

现在我们说说这样配置之后怎么打包的问题

7.同时打包多版本

debug版本:

操作十分简单:


不懂就学系列(三):gradle多版本打包和AS运行版本选择_第5张图片

打包结果看到了吧

不懂就学系列(三):gradle多版本打包和AS运行版本选择_第6张图片

release版本:


不懂就学系列(三):gradle多版本打包和AS运行版本选择_第7张图片


不懂就学系列(三):gradle多版本打包和AS运行版本选择_第8张图片


不懂就学系列(三):gradle多版本打包和AS运行版本选择_第9张图片

打包结果:

是不是很简单。

ok,下面又有问题了

,打包是没有问题了,但是,我插着usb给手机装app,调试的时候,可怎么选呢?

ok,这个,知者不难,不知者难咯。

8.AS运行版本选择


不懂就学系列(三):gradle多版本打包和AS运行版本选择_第10张图片

看到了吧,AS早就为我们提供了这个方法了,看着图自己试试吧,如果你说,你那个是什么东西?what?buildVariants在哪里的呀?

看到了吧,在这里。我这人不喜欢在博客里面写什么快捷键,因为,说实话,一方面快捷键这个东西,可能不一样,容易误导,另一方面,我觉得去找也是一种练习。

不懂就学系列(三):gradle多版本打包和AS运行版本选择_第11张图片

ok,基本的步骤的解释,就到这里了,照着做一次,就会了。


更新了: 前面我们debug版本可以这样快捷打包,其实正式版本也是可以这样打包的,下面,介绍一种更好的打包方式:


不懂就学系列(三):gradle多版本打包和AS运行版本选择_第12张图片

上图是debug版本,下面介绍正式版打包:

第一步:在android目录下添加一个这样的目录,填入你的签名信息

不懂就学系列(三):gradle多版本打包和AS运行版本选择_第13张图片

第二步:同样在android目录下添加(注意signingConfig这个标签,这里就是配置我们的签名信息)


不懂就学系列(三):gradle多版本打包和AS运行版本选择_第14张图片

第三步:跟着点击


不懂就学系列(三):gradle多版本打包和AS运行版本选择_第15张图片

然后就有结果了(我这里做了一些其他事情,就不说了,和本文无关,所以结果会有点不一样),看结果吧:

不懂就学系列(三):gradle多版本打包和AS运行版本选择_第16张图片

这样,就实现了,release版本的多版本打包了。

你可能感兴趣的:(不懂就学系列(三):gradle多版本打包和AS运行版本选择)