友盟渠道打包学习:(方便后台做运营统计)
1、AndroidManifest.xml配置(application节点下,与activity节点同层级)
<meta-data
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}"/>
2、module下的build.gradle配置
android{
defaultConfig{
//为了后面给打包出来的apk的名称添加版本号
versionName "1.2.5"
}
productFlavors{
//各大应用商店代号
samsungapps{
}
hiapk{
}
anzhi{
}
360cn{
}
xiaomi{
}
myapp{
}
91com{
}
gfan{
}
appchina{
}
nduoa{
}
3gcn{
}
mumayi{
}
10086com{
}
wostore{
}
189store{
}
lenovomm{
}
hicloud{
}
meizu{
}
baidu{
}
wandoujia{
}
yingyongbao{
}
huawei{
}
oppo{
}
vivo{
}
}
productFlavors.all{flavor->
flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
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}.apk")
output.outputFile = new File(outputFile.parent,fileName)
}
}
}
}
3、获取渠道信息
try{
PackageManager pm = getPackageManager();
ApplicationInfo info = pm.getApplicationInfo(getPackageName(),PackageManager.GET_META_DATA);
String channel = info.metaData.getString("UMENG_CHANNEL"); //渠道信息
}catch(Exception e){
e.printStackTrace();
}
4、打包,最后一步选择需要分发的渠道,就会生成若干个带渠道代号的apk,然后分别发布到各大市场上去
1、AndroidManifest.xml配置(application节点下,与activity节点同层级)
<meta-data
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}"/>
2、module下的build.gradle配置
android{
defaultConfig{
//为了后面给打包出来的apk的名称添加版本号
versionName "1.2.5"
}
productFlavors{
//各大应用商店代号
samsungapps{
}
hiapk{
}
anzhi{
}
360cn{
}
xiaomi{
}
myapp{
}
91com{
}
gfan{
}
appchina{
}
nduoa{
}
3gcn{
}
mumayi{
}
10086com{
}
wostore{
}
189store{
}
lenovomm{
}
hicloud{
}
meizu{
}
baidu{
}
wandoujia{
}
yingyongbao{
}
huawei{
}
oppo{
}
vivo{
}
}
productFlavors.all{flavor->
flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
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}.apk")
output.outputFile = new File(outputFile.parent,fileName)
}
}
}
}
3、获取渠道信息
try{
PackageManager pm = getPackageManager();
ApplicationInfo info = pm.getApplicationInfo(getPackageName(),PackageManager.GET_META_DATA);
String channel = info.metaData.getString("UMENG_CHANNEL"); //渠道信息
}catch(Exception e){
e.printStackTrace();
}
4、打包,最后一步选择需要分发的渠道,就会生成若干个带渠道代号的apk,然后分别发布到各大市场上去