1月 132020
 

举个不太恰当的例子,比如我们需要生成针对友盟统计的渠道为官网、应用宝、百度应用市场三个渠道各自对应的开发环境和测试环境的应用包。

那么,我们首先在AndroidManifest.xml中定义相关的点位符

友盟统计渠道点位符:

开发环境占位符:

在项目的build.gradle的android节点下定义flavorDimensions,如下:

然后我们定义productFlavors

获取当前apk占位符的值

我们以app_enviornment这个占位符为例,获取这个点位符的值后,确定连接开发服务器还是测试服务器

新建项目自定义的Application类(如果不明白,请百度一下这步如何操作),本例代码如下:

如上,获取到了占位符app_enviornment的值,根据AppEnviornment就可以做其他处理了

这个操作也不是必须放在自定义的Application类中,放在Activity中也可以

自动多版本apk的打包

在项目的build.gradle文件的android节点中增加如下代码:

  1. ${variant.versionName} – 版本名称
  2. ${variant.versionCode} – 版本编码
  3. ${variant.productFlavors[0].name} – 第一维度的名称(官网、应用宝等)
  4. ${variant.productFlavors[1].name}- 第二维度的名称(开发环境、测试环境等)

生成的apk截图如下:

Android Studio中如何指定要调试的版本

在studio左下角,找到Build Variants工具栏,在Active Build Variant中选择要调试的那个版本

代码下载

https://github.com/wintergoes/DimensionTestApp

打赏
 Posted by on 2020-01-13

Sorry, the comment form is closed at this time.