Gradle多渠道打包

关键字

productFlavors 定义不同的风味
flavorDimensions 定义产品领域, 定义productFlavors 的必要属性
manifestPlaceholders 可以替换androidmanifest文件中的标签

gradle多渠道打包配置在build.gradle里

关键字 productFlavors flavorDimensions
productFlavors 定义不同的风味
flavorDimensions 定义产品领域, 定义productFlavors 的必要属性

android {	productFlavors {
    A {
        dimension "app"
        manifestPlaceholders = [
                key_supportsRtl: "true",
                key_icon       : "@drawable/icon_manual"
        ]
    }	}	}

android {	flavorDimensions "app","env"	}

manifestPlaceholders替换manifest里的值

productFlavors {
    A {
        dimension "app"
        manifestPlaceholders = [
                key_supportsRtl: "true",
                key_icon       : "@drawable/icon_manual"
        ]
    }	}
   
android:icon="${key_icon}"

Gradle修改打包文件名称

android.applicationVariants.all { variant ->	    variant.outputs.each { output ->	        def outputFile = output.outputFile	        if (outputFile != null && outputFile.name.endsWith('.apk')) {	            def fileName = outputFile.name.replace("之前系统默认名称.apk", "想要替换的名称${defaultConfig.versionName}_${getDate()}.apk")	            output.outputFile = new File(outputFile.parent, fileName)	        }	    }	} 

Gradle 获取时间戳

调用时使用${getDate()}

//获取时间戳
static def getDate() {
    def date = new Date()
    def formattedDate = date.format('MMddHHmm')
    return formattedDate
}

调用	${getDate()}.apk

Gradle 获取git提交次数

获取当前分支的提交次数	def getGitCommitTimes() {
    return 'git rev-list HEAD --first-parent --count'.execute().text.trim().toInteger()
}	versionName "aaa." + getGitCommitTimes() + "." + new Date().format("yyyyMMdd", TimeZone.getTimeZone("UTC"))
def getGitCommitTimes() {
    return 'git rev-list HEAD --first-parent --count'.execute().text.trim().toInteger()
}

修改打包路径

applicationVariants.all { variant ->
    if (variant.buildType.name.equals('release')) {
        variant.outputs.all { output ->

            outputFileName = "AppName_" + versionName + ".apk"
        }
    }
}

判断打包的版本

if(BuildConfig.FLAVOR.equals("external")){//用于判断打包的是哪个版本	}

Gradle [解决]:Please correct the above warnings first.

快速解决方式 ,proguard-rules.pro文件里添加-ignorewarnings

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值