android多渠道打包:umeng+美团walle+腾讯乐固

概述

在android开发时,我们需要加固以确保安全,需要多渠道进行精准客户分析,并且需要一个平台进行统计分析。

我现在常用的就是,腾讯乐固进行加固,美团进行多渠道打包,然后用友盟进行渠道分析。

方案

我采取的方案是
1、先打包出来一个apk
2、乐固加固
3、签名
4、walle多渠道
5、多渠道配置到umeng分析

步骤这样的主要原因是因为加固会把渠道包给去掉。

先正常打包出来一个apk,乐固加固之后,进行签名

签名

采用命令行签名,把签名文件,apk放到一个文件夹中,命令行cd进入到该文件夹下,然后进行如下操作

验证签名:

jarsigner -verify -verbose -certs app.apk   

加固之后重新签名

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore 签名文件名称 -storepass 签名密码 签名apk名字 签名别名
对齐:zipalign 4 apk名字 apk新名字

walle多渠道

walle ,是美团Android Signature V2 Scheme签名下的新一代渠道包打包神器。
walle 多渠道打包的使用 https://github.com/Meituan-Dianping/walle
配置上walle
配置build.gradle
在位于项目的根目录 build.gradle 文件中添加Walle Gradle插件的依赖, 如下:

buildscript {
    dependencies {
        classpath 'com.meituan.android.walle:plugin:1.1.6'
    }
}

并在当前App的 build.gradle 文件中apply这个插件,并添加上用于读取渠道号的AAR

apply plugin: 'walle'

dependencies {
    compile 'com.meituan.android.walle:library:1.1.6'
}

android多渠道打包:umeng+美团walle+腾讯乐固_第1张图片
把walle下面的jar包放到文件夹中,channel文件中配置的是渠道信息(该步骤仅需要这两个文件,其他文件是签名需要)

channle.txt内容如下,根据自己的需要配置。

xiaomi # 小米
meizu
huawei
oppo
vivo
googleplay
baidu
360cn
yyb
wangzhan

命令行进入该文件夹下

cd C:\Users\Administrator\Desktop\donghaohuosign

然后打包只需要一句命令行

java -jar walle-cli-all.jar batch -f C:\Users\Administrator\Desktop\donghaohuosign\channel.txt  C:\Users\Administrator\Desktop\donghaohuosign
\donghaohuo.apk  C:\Users\Administrator\Desktop\donghaohuosign 

最后的一个路径是配置apk生成位置,默认生成在目录下,精简可以这样

  java -jar walle-cli-all.jar batch -f C:\Users\Administrator\Desktop\donghaohuosign\channel.txt  C:\Users\Administrator\Desktop\donghaohuosign
    \donghaohuo.apk

就可以生成渠道包了。

umeng分析配置

你的应用中已经配置上了umeng了,我就不多赘述配置过程。

如果不修改,umeng肯定不能识别到渠道包啊,因为我们去掉了manifest中的umeng 渠道的配置和 gradle中的productFlavors 。
解决的办法也很简单。

只需要在初始化的时候,把第二个参数改成你获取到的channel

  //友盟初始化
  String channel = WalleChannelReader.getChannel(this.getApplicationContext());
   Log.i("yicooll", "" + "*****************************" + channel);
  UMConfigure.init(this, "", channel, UMConfigure.DEVICE_TYPE_PHONE, "")

你可能感兴趣的:(安卓基础)