android的多渠道打包

Posted 夜空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android的多渠道打包相关的知识,希望对你有一定的参考价值。

本文出处:http://www.cnblogs.com/0616--ataozhijia/p/4203997.html

这里以友盟为例子。

项目快上线了,要做一个多渠道打包。不然每次都要在androidManifest.xml文件里修改:

<meta-data android:name="UMENG_CHANNEL" android:value="wandoujia" />

每次都要修改value的值,简直蛋疼。

 

首先你必须在AndroidManifest.xml中的meta-data修改以下的样子:

<meta-data
    android:name="UMENG_CHANNEL"
    android:value="${UMENG_CHANNEL_VALUE}" />

其中${UMENG_CHANNEL_VALUE}中的值就是你在gradle中自定义配置的值。

 

build.gradle文件就利用productFlavors这样写:

productFlavors {
 
wandoujia {}
baidu {}
c360 {}
uc {}
 
productFlavors.all { flavor ->
flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
 
}

其中name的值对相对应各个productFlavors的选项值,这样就达到自动替换渠道值的目的了。

这样生成apk时,选择相应的Flavors来生成指定渠道的包就可以了,而且生成的apk会自动帮你加上相应渠道的后缀,非常方便和直观。

 

以上是关于android的多渠道打包的主要内容,如果未能解决你的问题,请参考以下文章

Android 多渠道打包

android 多渠道打包

Android Studio多渠道打包和代码混淆教程 亲测可用

Android grade语法,多渠道打包

借腾讯开源 VasDolly,谈谈 Android 签名和多渠道打包的原理!

Android 进行友盟多渠道打包步骤详解