您的位置:首页 > 移动开发 > Android开发

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,乐固)请在加固后再使用工具进行多渠道打包,加固软件通常会重新打包应用,会导致你写入的渠道信息无法读取,所以先加固,后分渠道。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息