1.多渠道打包工具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.集成友盟统计
友盟统计安卓端的相关文档
选择管理界面添加应用获得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,乐固)请在加固后再使用工具进行多渠道打包,加固软件通常会重新打包应用,会导致你写入的渠道信息无法读取,所以先加固,后分渠道。