05. Android多渠道打包(友盟)
16lz
2021-01-26
one.jpg
慕课网视频:http://www.imooc.com/learn/752
http://frank-zhu.github.io/android/2015/06/15/android-release_app_build_gradle/
前言
什么是多渠道打包?为什么要多渠道打包?
- 多渠道打包简单的说打多个应用平台的包(比如应用宝,安智市场,机锋等等)
- 多渠道打包的意义在于:
* 通过多渠道,可以更详细的统计app被下载的途径
* 通过多渠道,可以查看app在每个渠道的表现
* 通过多渠道,更有利于我们app的推广
多渠道打包的原理
- 为我们每个平台或市场的apk指定唯一的标识符
- Android中我们通常在Manifest.xml中指定唯一的标识符
集成友盟多渠道打包
-
上友盟官网注册并创建新应用,获取AppKey(下图是我的账号已经注册登录过)
youmeng.gif - 在你的module的build.gradle中添加友盟的依赖
compile 'com.umeng.analytics:analytics:latest.integration'
如果无法正常集成,请添加如下代码
allprojects { repositories { mavenCentral() }}
- 在Manifest.xml中配置渠道号和AppKey (包含在application中)
注意:这里的占位符$和中括号{}之间要有个空格,不然编译报错:Manifest merger failed with multiple errors, see logs;
-
在Module的build.gradle中编写多渠道的脚本
第一步:
01.png
第二步:
生成签名文件,并将签名文件复制到你的module中
第三步:注意这里的签名文件路径,如果签名文件**.jks已经拷贝到项目中,就像图这样,直接写签名文件的名就可以了,如果没有复制到项目中,要写全路径。
02.png
第四步:
03.png
第五步:
在Terminal中输入命令:gradlew assembleRelease(注意别写错,如果是Mac 命令为:./gradlew assembleRelease),如果指给一个渠道打包,命令如下,比如指给小米的打包:./gradlew assembleXiaoMiRelease进行打包,等待有BUILD SUCCESSFUL说明打包成功。
04.png
如何指定打包以后APK的文件名
05.png//自定义打包后apk的文件名applicationVariants.all{variant -> variant.outputs.each{output -> def outFile = output.outputFile if (outFile!=null && outFile.name.endsWith(".apk")){ def fileName = "${variant.productFlavors[0].name}"+".apk" output.outputFile = new File(outFile.parent,fileName); } }}
结束啦
更多相关文章
- android 项目打包jar
- Android(安卓)5.0系统进入APP崩溃之multiDexEnabled踩坑记
- Android(安卓)Studio 打Jar包和混淆的Jar包
- Android(安卓)studio Cause: buildOutput.apkData must not be n
- Android应用多渠道打包脚本
- 获取数字签名(.keystore)SHA1、MD5值
- 关于ant 打包android引入第三方类库library project的终极解决方
- 使用javah和javap得到JNI接口的签名
- Android(安卓)Studio添加so文件并打包到APK的lib文件夹中