Android多渠道打包

productFlavors配置渠道

android {
    productFlavors {
        huawei {
            manifestPlaceholders = [
                    // APP 名称
                    APP_NAME    : "@string/app_name",
                    // APP ICON
                    APP_ICON    : "@drawable/app_icon",
                    // 渠道标识
                    CHANNEL     : name,
                    // 客户端ID
                    CLIENTID    : rootProject.ext.COMMON_CLIENTID,
                    // 客户点SECRET
                    CLIENTSECRET: rootProject.ext.COMMON_CLIENTSECRET,
                    // 获取域名的CDN
                    BASEURL_CDN : rootProject.ext.COMMON_BASEURL_CDN,
		            ]
		        }
		    }
		}

	// 渠道的资源信息
	android {
	    sourceSets {
	        main {
	            huawei {
	                res.srcDirs = ['src/channel/huawei/res']
	                manifest.srcFile 'src/channel/huawei/AndroidManifest.xml'
	            }
	        }
	    }
	}

打包构建配置

release

android {
    buildTypes {
        release {
            minifyEnabled false
            shrinkResources false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            applicationVariants.all { variant ->
                variant.outputs.all {
                    def flavorFlag = "${variant.productFlavors.get(0).name}"

                    def fileName
                    def date = new Date()
                    def formattedDate = date.format("yyyy-MM-dd-HH-mm-ss-SSS")
                    if (variant.buildType.name.equals('release')) {
                        fileName = rootProject.ext.COMMON_CLIENTID + "_" + flavorFlag + "_" + "${variant.mergedFlavor.versionName}_release_${formattedDate}.apk"
                    } else if (variant.buildType.name.equals('debug')) {
                        fileName = rootProject.ext.COMMON_CLIENTID + "_" + flavorFlag + "_" + "${variant.mergedFlavor.versionName}_debug_${formattedDate}.apk"
                    }
                    outputFileName = fileName
                }
            }
            signingConfig signingConfigs.release
        }

    }
}

debug

android {
    buildTypes {
        debug {
            debuggable true // debug模式下,显示log
            versionNameSuffix "-debug"// 为版本名添加后缀
            minifyEnabled false
            zipAlignEnabled false
            shrinkResources false
            applicationVariants.all { variant ->

                variant.outputs.all {
                    def flavorFlag = "${variant.productFlavors.get(0).name}"
                    def fileName
                    def date = new Date()
                    def formattedDate = date.format("yyyy-MM-dd-HH-mm-ss-SSS")
                    if (variant.buildType.name.equals('release')) {
                        fileName = rootProject.ext.COMMON_CLIENTID + "_" + flavorFlag + "_" + "${variant.mergedFlavor.versionName}_release_${formattedDate}.apk"
                    } else if (variant.buildType.name.equals('debug')) {
                        fileName = rootProject.ext.COMMON_CLIENTID + "_" + flavorFlag + "_" + "${variant.mergedFlavor.versionName}_debug_${formattedDate}.apk"
                    }
                    outputFileName = fileName
                }
            }
            signingConfig signingConfigs.release
        }
    }
}

属性

获取渠道名称

variant.productFlavors.get(0).name

获取versionName

variant.mergedFlavor.versionName

获取当前时间

def date = new Date()
def formattedDate = date.format("yyyy-MM-dd-HH-mm-ss-SSS")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值