关键字
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
1811

被折叠的 条评论
为什么被折叠?



