android studio多渠道打包

1、定义
多渠道打包就是将一个应用发布到多个应用市场上,一个市场就是一个渠道
2、目的
目的有两个一是发布到多个应用市场上,用户可以从不同的市场下载,为了便于统计各应用市场下载的用户量及用户的一些使用信息,通常会集成第三方SDK,如友盟、百度、腾讯MTA等
3、使用
我用的第三方统计是腾讯的MTA,以这个为例来说明
第一步:在主module的build.gradle文件中添加依赖
dependencies {
compile files('libs/mta-android-stat-sdk-2.2.0_20160504.jar')
}
这可以参照腾讯MTA官网集成的示例来完成。

第二步:修改AndroidManifest.xml文件中设置渠道的代码片段,值用${变量}来替换



第三步:修改主module的build.gradle文件
android{
defaultConfig{
manifestPlaceholders = [MTA_CHANNEL_VALUE : "mta"]
}

//添加签名文件配置
signingConfigs{
debug{}

//为我们的release包添加签名文件配置
release{
storeFile file("key.jks")
storePassword "xxxxxxxx"
keyAlias "xxxxxx"
keyPassword "xxxxxxxx"
}
}

productFlavors{
huawei{}
xiaomi{}
baidu{}
konly{}
tencent{}
wandoujia{}
}

productFlavors.all{
flavor -> flavor.manifestPlaceholders = [MTA_CHANNEL_VALUE : name]
}

buildTypes{
release{
signingConfig signingConfigs.release
//指定我们release包的输出文件名就是我们的渠道名字
applicationVariants.all{ variant ->
variant.outputs.each{
output ->
def outFile = output.outputFile
if(outFile !=null && https://www.360docs.net/doc/fd11991603.html,.endsWith(".apk")){
def fileName = "${variant.productFlavors[0].name}" + ".apk"
output.outputFile = new File(outFile.parent,fileName);
}
}
}
}
}
}
注意:如果storeFile file("key.jks")为这个地址,key.jks要放到moudle的根目录下
第四步:在控制台用代码运行
Windows电脑下用 gradlew assembleRelease 命令

相关主题
相关文档
最新文档