5分钟搞定Android多渠道打包(基于友盟统计)
2017-02-09 00:00
405 查看
1.多渠道打包工具MultiChannelPackageTool
https://github.com/seven456/MultiChannelPackageTool
工具原理利用的是Zip文件“可以添加comment(摘要)”的数据结构特点,在文件的末尾写入任意数据,而不用重新解压zip文件(apk文件就是zip文件格式);
所以该工具不需要对apk文件解压缩和重新签名即可完成多渠道自动打包,高效速度快,无兼容性问题;
使用步骤:
在项目中导入MCP-tool1.1.jar
自定义application在onCreate方法中写入String channelId= MCPTool.getChannelId(getApplicationContext(), null, "ceshihuawei");获得渠道id;
public class TalkApplication extends Application { public String channelId; @Override public void onCreate() { super.onCreate(); channelId= MCPTool.getChannelId(getApplicationContext(), null, "ceshihuawei"); Log.e("channelId","==========="+channelId); } }
三个参数分别是 context,写入渠道号时的密码,如果没能读出渠道号时的默认返回值。
3. 下载工具后在文件的MCPTool目录下打开命令按住shift+右键打开命令窗口
输入java -jar MCPTool-1.1.jar -path 你的apk所在路径\app-release.apk -outdir ./ -contents noting;360;wandoujia;baidu;xiaomi;yingyongbao;vivo;oppo;huawei;meizu;
按回车完成多渠道打包
2.集成友盟统计
友盟统计安卓端的相关文档http://dev.umeng.com/analytics/android-doc/integration
申请友盟账号后在http://mobile.umeng.com/analytics?spm=0.0.0.0.VMi3no页面点击立即使用
选择管理界面添加应用获得appkey。
按文档要求下载jar包
或者在gradle中加入
compile 'com.umeng.analytics:analytics:latest.integration'
在application的onCreate方法中加入
MobclickAgent. startWithConfigure(new MobclickAgent.UMAnalyticsConfig(getApplicationContext(), "你申请的appkey", channelId,MobclickAgent.EScenarioType.E_UM_NORMAL,true)); //三个参数的含义是 context对象,获得的渠道号,友盟统计模式(普通模式),是否统计崩溃。
MainActivity的onCreate,onResume,onPause方法中写入友盟统计的相关代码:
package com.example.admin.dqd; import android.content.Context; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import com.umeng.analytics.MobclickAgent; public class MainActivity extends AppCompatActivity { private Context mContext; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mContext = this; MobclickAgent.setDebugMode(true); MobclickAgent.openActivityDurationTrack(false); MobclickAgent.setScenarioType(getApplicationContext(), MobclickAgent.EScenarioType.E_UM_NORMAL); } public void onResume() { super.onResume(); MobclickAgent.onResume(mContext); } public void onPause() { super.onPause(); MobclickAgent.onPause(mContext); } }
ps:需要注意的点
如果需要加固(360,乐固)请在加固后再使用工具进行多渠道打包,加固软件通常会重新打包应用,会导致你写入的渠道信息无法读取,所以先加固,后分渠道。相关文章推荐
- android多渠道打包——集成友盟统计
- Android应用升级,加固,自动签名,多渠道打包,渠道信息获取一键式搞定
- android stadio多渠道打包(一分钟搞定)
- [置顶] Android 批量打包 基于Walle的多渠道快速打包自动脚本
- Ant_android Ant 批量多渠道打包(2)
- Android之Maven集成Ant多渠道打包
- Android:Ant 批量多渠道打包
- android 多渠道打包
- [转]Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
- Android App自动化之使用Ant编译项目多渠道打包
- Ant_android 多渠道自动打包(1)
- Android多渠道打包工具
- android ant多渠道混淆打包
- Android笔记之:App自动化之使用Ant编译项目多渠道打包的使用详解
- android Ant 批量多渠道打包!
- Android中利用ant进行多渠道循环批量打包(一)
- android Ant 批量多渠道打包 总结!
- 使用ANT编译--实现外部传参(多渠道替换)、批处理打包------第二步什么是ANT,如何使用ANT命令为Android项目打包
- Android多渠道Ant打包详细
- Android中利用ant进行多渠道循环批量打包(二)