Android 自动化打渠道包

本文基于Android studio3.4,JDK1.8,gradle-5.1.1-all。

前言

我们经常都会打包上线,然后大多数情况下也都是会有多渠道。按照以前的打包方式,太麻烦了,所以本文阅读了Android-解放双手之Gradle自动化打包实战(原创)一文后,设置了自己的打包方式。

设置签名的配置

首先要有签名的文件,在这里插入图片描述
在这里插入图片描述
在这里创建签名文件。怎么创建这里就不说明了。

签名配置有两种方式

第一种方式:

在app的build.gradle中,也就是这个位置,在这里插入图片描述
打开之后,在android中android
这个位置添加以下代码

signingConfigs {
        config {
            keyAlias xxxxx
            keyPassword xxxxx
            storeFile file('D:/xxxx.jks')
            storePassword xxxxx
            v1SigningEnabled true
            v2SigningEnabled true
        }
    }

其中的keyAlias ,keyPassword,storePassword 都是在设置的签名文件中设置的。

第二种方式:

在app下新建一个signing.properties文件。
在这里插入图片描述
内容截图
在这里插入图片描述

STORE_FILE = xxxx
STORE_PASSWORD = xxxx
KEY_ALIAS = xxxxx
KEY_PASSWORD = xxxxx

xxx就是第一种方式所要填的xxx。

在app的build.gradle中编写以下代码

在这里插入图片描述

//读取签名配置文件
def getSigningProperties() {

    def propFile = file('signing.properties')
    if (propFile.canRead()) {
        def Properties props = new Properties()
        props.load(new FileInputStream(propFile))
        if (props != null && props.containsKey('STORE_FILE') && props.containsKey('STORE_PASSWORD') &&
                props.containsKey('KEY_ALIAS') && props.containsKey('KEY_PASSWORD')) {

            android.signingConfigs.config.storeFile = file(props['STORE_FILE'])
            android.signingConfigs.config.storePassword = props['STORE_PASSWORD']
            android.signingConfigs.config.keyAlias = props['KEY_ALIAS']
            android.signingConfigs.config.keyPassword = props['KEY_PASSWORD']

        } else {

            println 'signing.properties found but some entries are missing'
            android.buildTypes.release.signingConfig = null
        }
    } else {
        println 'signing.properties not found'
        android.buildTypes.release.signingConfig = null
    }
}

然后使用这个文件,在android中编写以下代码

在这里插入图片描述

//签名配置
    signingConfigs {
        config {
            storeFile
            storePassword
            keyAlias
            keyPassword
            v1SigningEnabled true
            v2SigningEnabled true
        }
    }
getSigningProperties()

多渠道设置

在这里插入图片描述
在这里插入图片描述
添加后就可以设置多渠道了,这里不多说明了。

制定打正式包的输出路径

在这里插入图片描述

applicationVariants.all {
            //判断是release还是debug版本
            def buildType = it.buildType.name
            //获取当前时间的"YYYY-MM-dd"格式。
            def createTime = new Date().format("YYYY-MM-dd", TimeZone.getTimeZone("GMT+08:00"))
            //如果是正式包,将其输入到指定文件夹
            if (buildType == "release") {
                it.getPackageApplication().outputDirectory = new File('D:\\APP'+ "/${defaultConfig.versionName}/${it.productFlavors[0].name}-${createTime}")
            }
        }

自动化打包

之前打包的方式,Android Studio 顶部Tab , Build —— Generate Sign Apk。其实不需要设置之前的签名配置,这样也是可以打包的。但是设置了之后,不需要这样打包了,太麻烦了。在app的build.gradle配置了签名后,可以这样打多渠道包。在Android studio 的右侧栏,在这里插入图片描述
点击这个gradle。

在这里插入图片描述
选择assembleRelease即可打包全部的正式包了。需要打单独的渠道包,可以单独点击。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猿界新星蔡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值