Android 多渠道打包基础(友盟)

来源:互联网 发布:数据分析师是什么专业 编辑:程序博客网 时间:2024/04/30 04:45
这篇多渠道打包是看视频的时候整理的笔记。

如果我们的应用只针对某个平台,则不需要多渠道打包(不可能)。

为什么要多渠道打包?

答:通过多渠道1.可以更详细的统计app被下载的途径.
                  2.可以查看app在每个渠道上的表现
                  3.更有利于我们app的推广


多渠道打包原理?

答:就是我们为每个平台或市场的apk制定一个唯一的标识符。android通常在Manifest.xml中为其指定。也可以在代码中指定,但是一般不用。

友盟多渠道打包:

1.添加对友盟库的依赖
2.就是在Manifest.xml中去声明我们的appkey,以及我们的渠道占位符。
3.在我们应用的build.gradle中去动态的替换掉我们占位符的value即可。
4.在控制台使用 ./gradlew assembleRelease 去自动的打出所有的渠道包。

前几步集成就不说了。
下面直接看看核心:Gralde的一些基础的脚本语言。

defaultConfig {    applicationId "com.example.ge.xapractiveone"    minSdkVersion 16    targetSdkVersion 25    versionCode 1    versionName "1.0"    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"    manifestPlaceholders = [UMENG_CHANNEL_CALUE:"umeng"]}

buildTypes {    release {        minifyEnabled false        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'        //指定正式版本编译文件配置        signingConfig signingConfigs.release        //指定我们release包的输出文件名就是我们的渠道名字        applicationVariants.all{ variant ->            variant.outputs.each{ output ->                def outFile = output.outputFie                if (outFile != null && outFile.name.endWith(".apk")){                    def fileName = "${variant.productFlavors[0].name}" + ".apk"                    output.outputFie = new File(outFile.parent, fileName);                }            }        }    }}

signingConfigs{        debug{}        //为我们的release包添加签名文件配置        release{            storeFile file("XXX.jks")            storePassword "store密码"            keyAlias "别名"            keyPassword "jks密码"        }    }    //指定    productFlavors{        xiaomi{        }        wandoujia{        }    }    //通过脚本动态修改productFlavors的值    productFlavors.all{        flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_Value: name]    }


完成上面的步骤,打包需要在控制台输入指令,即第四步。



0 0
原创粉丝点击