one.jpg

慕课网视频:http://www.imooc.com/learn/752

http://frank-zhu.github.io/android/2015/06/15/android-release_app_build_gradle/

前言

什么是多渠道打包?为什么要多渠道打包?

  1. 多渠道打包简单的说打多个应用平台的包(比如应用宝,安智市场,机锋等等)
  2. 多渠道打包的意义在于:
    * 通过多渠道,可以更详细的统计app被下载的途径
    * 通过多渠道,可以查看app在每个渠道的表现
    * 通过多渠道,更有利于我们app的推广

多渠道打包的原理

  • 为我们每个平台或市场的apk指定唯一的标识符
  • Android中我们通常在Manifest.xml中指定唯一的标识符

集成友盟多渠道打包

  1. 上友盟官网注册并创建新应用,获取AppKey(下图是我的账号已经注册登录过)


    youmeng.gif
  2. 在你的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);           }      }}

结束啦

更多相关文章

  1. android 项目打包jar
  2. Android(安卓)5.0系统进入APP崩溃之multiDexEnabled踩坑记
  3. Android(安卓)Studio 打Jar包和混淆的Jar包
  4. Android(安卓)studio Cause: buildOutput.apkData must not be n
  5. Android应用多渠道打包脚本
  6. 获取数字签名(.keystore)SHA1、MD5值
  7. 关于ant 打包android引入第三方类库library project的终极解决方
  8. 使用javah和javap得到JNI接口的签名
  9. Android(安卓)Studio添加so文件并打包到APK的lib文件夹中

随机推荐

  1. android通过Instrumentation来模拟键盘点
  2. Android Studio Can't launch AVD on Mac
  3. Android中时间标签起点
  4. Android 5.0特性(SwipeRefreshLayout+Recy
  5. Android studio You should manually set
  6. popUPwindow
  7. [Android]Android 直接打开log的一种方法
  8. Android Studio:在xml布局中不能自动补全
  9. android 两个 activity 用 handler传递数
  10. 安卓课程二十 CheckBox复选框控件使用