5分钟搞定Android多渠道打包(基于友盟统计)
5分钟搞定Android多渠道打包(基于友盟统计)
老奶瓶 发表于11个月前
5分钟搞定Android多渠道打包(基于友盟统计)
  • 发表于 11个月前
  • 阅读 56
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

1.多渠道打包工具MultiChannelPackageTool

https://github.com/seven456/MultiChannelPackageTool

工具原理

利用的是Zip文件“可以添加comment(摘要)”的数据结构特点,在文件的末尾写入任意数据,而不用重新解压zip文件(apk文件就是zip文件格式);
所以该工具不需要对apk文件解压缩和重新签名即可完成多渠道自动打包,高效速度快,无兼容性问题;

使用步骤:

        

  1. 在项目中导入MCP-tool1.1.jar
  2. 自定义application在onCreate方法中写入String channelId= MCPTool.getChannelId(getApplicationContext(), null, "ceshihuawei");获得渠道id;
  3. 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,乐固)请在加固后再使用工具进行多渠道打包,加固软件通常会重新打包应用,会导致你写入的渠道信息无法读取,所以先加固,后分渠道。

共有 人打赏支持
粉丝 1
博文 2
码字总数 590
×
老奶瓶
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: