文档章节

使用android studio 实现多渠道打包,结合umeng实现动态获取渠道包名

吴彦辉
 吴彦辉
发布于 2015/09/28 18:06
字数 610
阅读 205
收藏 0

第一次写博客分享。写的不好,请提出您宝贵的建议。

使用了一段时间的android studio 发现了它非常的强大。最近公司营运部门要求分渠道打包开发包。我在网上看了些资料。结合自身的情况,写了这篇文章来记录一下使用过程。那么我们进入正题:

我是使用android studio 的gradle命令来进行批量打包的。

  1. 首先设置你的.keystore签名文件参数 


  2. 进入对应的主要gradle,我这边view module是入口

将以下下代码 拷贝到  gradle 文件下面,渠道名称根据你的需求

android {

productFlavors {
    木蚂蚁 {}
    手机中国 {}
    豌豆荚 {}
    百度 {}
    腾讯应用宝 {}
    市场360 {}
    小米 {}
    机锋市场 {}
    乐商店 {}
    应用汇 {}
    UC {}
    安智 {}
    智汇云 {}
    搜狗市场 {}
    网易市场 {}
    APP发布 {}
    vivo {}
    神马 {}
    安卓园 {}
    安粉网 {}
    安贝市场 {}
    安卓之家 {}
   productFlavors.all { flavor ->
        flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] 
        }
    
}
}
 productFlavors.all { flavor ->
        flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] 
        }
        //这句话的意思是 在  AndroidManifest.xml当中设置了渠道名称,对应的值
   //  <application
    //    android:name=".xxxx"
    //    android:allowBackup="true"
    //    android:icon="@mipmap/ic_launcher"
    //    android:label="@string/app_name"
    //    android:theme="@style/AppTheme" >
  //  <.................
  //  ..
  //  .</>
    
     //   <meta-data android:name="UMENG_CHANNEL"
      //             android:value="${UMENG_CHANNEL_VALUE}" /> 
                   
    //  <......../>

这样子,渠道就设置完成了。现在大家就可以看看

是不是多了你设置的渠道名称。这样可以进行单渠道打包。但这样劳动力就上来了。不但无聊,还浪费体力。

3.如何进行批量自动的多渠道打包呢。首先大家要设置好gradle的环境配置。这个网上有很多教程,大家可以看看。配置完成后,就可以进行批量打包啦。说一下批量打包的。看下图,直接打开一个cmd 命令窗口: 

输入 

gradle assembleRelease

这样就搞定了,等待程序自动打包。(注:有用win10的同志,打开系统的CMD 窗口,因为android studio 有BUG,你打不了字)

另外附上动态获取渠道名称的方法:

public static String (Context ctx,String key) {
    (ctx == || TextUtils.(key)) {
        }
    String resultData = {
        PackageManager packageManager = ctx.getPackageManager()(packageManager != ) {
            ApplicationInfo applicationInfo = packageManager.getApplicationInfo(ctx.getPackageName()PackageManager.)(applicationInfo != ) {
                (applicationInfo.!= ) {
                    resultData = applicationInfo..getString(key)}
            }


        }
    } (PackageManager.NameNotFoundException e) {
        e.printStackTrace()}


    resultData}

本人也是菜鸟,如果哪里不对,请大神指正。有没写好的地方大家可以加我QQ:497823256 大家一起探讨下。


© 著作权归作者所有

吴彦辉
粉丝 0
博文 1
码字总数 610
作品 0
昆山
程序员
私信 提问
Android的多渠道打包|SquirrelNote

系列文章: Android的反编译和代码混淆 Android的打包签名 [Android的多渠道打包 前言 本篇包括以下内容: 多渠道打包概述 友盟的多渠道打包 美团的多渠道打包 360的多渠道打包 多渠道打包概...

跳动的松鼠
2017/11/21
0
0
android-------- 多渠道打包(借助友盟移动统计分析)

好久没有发博客了,原因是换工作了,今天端午假期,所以来发一篇博客, 多渠道打包,借助友盟移动统计分析,希望对各位有所帮助 多渠道打包的理解: 渠道包就是要在安装包中添加渠道信息,也...

切切歆语
2018/06/16
0
0
Android批量打包-如何一秒内打完几百个apk渠道包

在国内Android常用渠道可能多达几十个,如: 谷歌市场、腾讯应用宝、百度手机助手、91手机商城、360应用平台、豌豆荚、安卓市场、小米、魅族商店、oppo手机、联想乐商、中兴汇天地、华为、安...

SuShine
2017/10/23
61
0
android studio gradle 配置修改

经过2年时间的研发,Google终于在近日正式发布了面向Android开发者的集成开发环境Android Studio 1.0(稳定版)。 未来计划 从Google的路线图可以看出,Android Studio未来会有3项改进: 1)...

习惯_搬砖
2014/12/10
19.6K
1
AndroidStudio封装SDK的那些事

首先SDK是提供给别人调用的工具。所以常见的SDK都是以jar包,so库,aar包等方式导入APP项目中。然后提供一些公开的API供接入方调用。所以在Androidstudio中如果需要生成jar或者aar,就需要将...

尘封的落叶
2018/06/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

规则引擎

解决问题 版本迭代速度更不上业务变化,但是若多个业务同时变化,除了为每个业务设计专属配置项也不利于操作。就想服务接口单纯化,将复杂多变的业务逻辑交给规则引擎,让用户在web端或cs端自...

无极之岚
21分钟前
3
0
OSChina 周三乱弹 —— 欢迎你来做产品经理

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @巴拉迪维 :10多次劲歌金曲获奖,更多叱咤歌坛排名,黎明才应该是四大天王之首,只可惜拍的电影太少。单曲循环一个多月的歌,力荐 《无名份的...

小小编辑
59分钟前
187
9
500行代码,教你用python写个微信飞机大战

这几天在重温微信小游戏的飞机大战,玩着玩着就在思考人生了,这飞机大战怎么就可以做的那么好,操作简单,简单上手。 帮助蹲厕族、YP族、饭圈女孩在无聊之余可以有一样东西让他们振作起来!...

上海小胖
今天
9
0
关于AsyncTask的onPostExcute方法是否会在Activity重建过程中调用的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/XG1057415595/article/details/86774575 假设下面一种情况...

shzwork
今天
7
0
object 类中有哪些方法?

getClass(): 获取运行时类的对象 equals():判断其他对象是否与此对象相等 hashcode():返回该对象的哈希码值 toString():返回该对象的字符串表示 clone(): 创建并返此对象的一个副本 wait...

happywe
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部