安卓多渠道打包(一)原生多渠道打包

本文,将会讲解安卓以配置gradle的方式实现多渠道打包。
开发环境:androidstudio版本为3.0以上
马上发车:

(一)生成一个签名文件

通过AndroidStudio中的build–>generate signed bundle or apk生成一个软件签名文件。
step1
step2
至此,app的签名文件已经生成,可以在生成的目录里面查看。本项目,签名文件存放在项目的根目录。
目录截图如下:
目录结构
项目的build.gradle配置打包时签名代码如下:
签名配置

至此,项目打包时,签名配置完成。

(二)配置生成的渠道(渠道名字)

首先,配置的是主app项目的AndroidManifest文件,增加一个meta标签,代码如下:
AndroidManifest配置
再而,在build.gradle文件中定义相关渠道信息,截图如下:
渠道信息定义

至此,可以试着rebuild一下project,发现报错了,提示信息如下:
错误提示

出现该错误原因,是因为:
Android项目打包时使用了productFlavors分包,需要所有的flavors都必须属于同一个favorDimensions属性。
代码修改如下:

增加配置

至此,关于多渠道打包配置已经完成,下面可以进行打包操作了,打包出来的目录结构如下:
打包选项
打包生成目录

(三)获取当前渠道的代码:

public static String getChannel(Context context) {
        try {
            PackageManager pm = context.getPackageManager();
            ApplicationInfo appInfo = pm.getApplicationInfo(context.getPackageName(), PackageManager.GET_META_DATA);
            //key为<meta-data>标签中的name
            String channel = appInfo.metaData.getString("UMENG_CHANNEL");
            if (!TextUtils.isEmpty(channel)) {
                return channel;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

最后,附上demo连接:码云

that’s all--------------------------------------------------------------------

备注:经过测试,该方式打出的渠道包,通过三方加固后,依然稳定存在,所以建议使用该方式打包,缺点是耗时。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值