您的位置:首页 > 移动开发 > Android开发

android——利用gradle实现多渠道打包并自定义包名(umeng多渠道)

2017-10-24 12:34 519 查看
1.首先在mainfest.xml文件中,给umeng_channel设置一个变量“${UMENG_CHANNEL_VALUE}”

2.在gradle中,配置flavors。

productFlavors {
yingyongbao {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "bjtq_txyyb"]

}
s360 {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "bjtq_360"]

}
baidu {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "bjtq_baidu"]

}
xiaomi {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "bjtq_xiaomi"]

}
huawei {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "bjtq_huawei"]

}
meizu {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "bjtq_meizu"]

}
lenovo {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "bjtq_len"]
applicationId 'com.songheng.beijingtianqikuaibao'
}
oppo {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "bjtq_oppo"]

}
vivo {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "bjtq_vivo"]

}
ali {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "bjtq_ali"]

}
yingyonghui {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "bjtq_yyh"]

}
sougou {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "bjtq_sougou"]

}
anzhi {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "bjtq_anzhi"]
}
}


3.可以直接签名打包了。



这么打包,apk所在路径:项目路径\app\app-anzhi-release.apk

4.自定义包名方式

applicationVariants.all { variant ->
variant.outputs.each { output ->
if ('release'.equals(variant.buildType.name)) {
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith('.apk')) {

def buildLable = ""
def buildName = ""

// 是否是连接测试服务器版本
if (rootProject.hasProperty('TestServer')) {
buildLable = "${buildLable}_Test"
} else {
buildLable = "${buildLable}_Product"
}
            //buildname 是channel名称
variant.productFlavors.each { product ->
buildName = product.name
}

// 是否是testin版本
if (rootProject.hasProperty('TestIn')) {
buildLable = "${buildLable}_TestIn"
}
def productName = "bjtqyb"
def fileName = "${productName}_v${defaultConfig.versionName}_${releaseTime()}${buildLable}_${buildName}.apk"
output.outputFile = new File("${rootDir}/outapks/", fileName)
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: