本文主要是介绍Android开发——友盟多渠道打包方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
在很多项目开发完成,都是需要上架很多应用市场和一些推广渠道的。那么我们要怎么辨别用户的渠道来源呢?友盟的多渠道打包就能解决我们手动打包的难题,那样我们就不用一个个包去打了。
友盟多渠道打包
友盟就提供了多渠道打包的方式,可用于渠道统计等。 我们可以通过Android studio的build.gradle
文件,简单配置后就可以实现自动打所有渠道包。下面是友盟多渠道打包的实现步骤
1.按照友盟的要求,AndroidManifest文件中需要有
<meta-dataandroid:name="UMENG_CHANNEL"android:value="${UMENG_CHANNEL_VALUE}" />//UMENG_CHANNEL是友盟中代表渠道号的意思
这里的配置,value那里就是小米,360之类的渠道名称,但是我们在这里不会去写渠道名,写的是一个占位符,后面gradle编译的时候会动态的替换掉它。
2.在module(一般也就是app)的build.gradle的android{}中添加如下内容:
defaultConfig {// AndroidManifest.xml 里面UMENG_CHANNEL的value为 ${UMENG_CHANNEL_VALUE},添加一个默认渠道号manifestPlaceholders = [UMENG_CHANNEL_VALUE: "umeng"]
}
productFlavors{xiaomi{}vivo{}huawei{}Tencent{}}productFlavors.all { flavor ->flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]}
productFlavors
是android节点的一个自节点。你需要打什么渠道的包,就在这里按友盟
的要求用渠道名给UMENG_CHANNEL_VALUE
赋值。
3.执行签名打包
打包完成时,就可以去app/Tencent/release中拿到我们腾讯应用宝的渠道包。
4.自定义包名
/自定义包名android.applicationVariants.all { variant ->variant.outputs.all { output ->def outputFile = output.outputFileif (outputFile != null && outputFile.name.endsWith('.apk')) {outputFileName = defaultConfig.applicationId.subSequence(defaultConfig.applicationId.lastIndexOf(".") + 1, defaultConfig.applicationId.length()) + "-v" + defaultConfig.versionCode + "-" + output.baseName + ".apk"}}}
加入这段配置,可以自定义我们打包成功输入的包名,输出包名结果为xxx-v1-xiaomi-release.apk
。
这篇关于Android开发——友盟多渠道打包方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!