项目中用到了多渠道打包,由于各个渠道对应了单独的渠道号,和签名密钥(或者说加密用的盐),但是又需要在编译时动态替换代码里的参数配置。我把这些需要配置的内容转移到了build.gradle里,当然,也可以转移到工程的build.gradle,大同小异,为了操作简单,这里贴出我自己用的方法。

主要技术点是BuidConfig的使用。

    productFlavors {test900 {buildConfigField 'String', 'CHANNEL_SPID', '"900"'buildConfigField 'String', 'CHANNEL_SALT', '"290e0d6629511568"'manifestPlaceholders = [UMENG_CHANNEL_VALUE: "900"]}test901 {buildConfigField 'String', 'CHANNEL_SPID', '"901"'buildConfigField 'String', 'CHANNEL_SALT', '"92d7037433951369"'manifestPlaceholders = [UMENG_CHANNEL_VALUE: "901"]}test801 {buildConfigField 'String', 'CHANNEL_SPID', '"801"'buildConfigField 'String', 'CHANNEL_SALT', '"73a40d65fd7d07af"'manifestPlaceholders = [UMENG_CHANNEL_VALUE: "801"]}test807 {buildConfigField 'String', 'CHANNEL_SPID', '"807"'buildConfigField 'String', 'CHANNEL_SALT', '"c5c4e7c91d272b73"'manifestPlaceholders = [UMENG_CHANNEL_VALUE: "807"]}test809 {buildConfigField 'String', 'CHANNEL_SPID', '"809"'buildConfigField 'String', 'CHANNEL_SALT', '"37a1efd05e990e04"'manifestPlaceholders = [UMENG_CHANNEL_VALUE: "809"]}……}

其中 manifestPlaceholders属性替换的是清单文件里的

    <meta-dataandroid:name="UMENG_CHANNEL"android:value="${UMENG_CHANNEL_VALUE}"></meta-data>

我们在代码中需要配置参数的地方这样写:

     //SysConfig.SPID和SysConfig.SALT是全局的静态常量SysConfig.SPID = BuildConfig.CHANNEL_SPID;SysConfig.SALT = BuildConfig.CHANNEL_SALT;

这样就实现了编译期动态配置参数。我们可以一键打出所有渠道包,而不用一个个修改参数再打包了。

多渠道打包中优雅的配置渠道签名相关推荐

  1. Android 手把手完美教你美团wally(瓦力)多渠道打包 3种方法(针对签名V1和V2都会有很详细的介绍)

    APK的生成步骤: 大家从图中可以看出,大体分为以下 7 个大步: 1.打包资源文件,生成 R.java 文件 2.处理 aidl 文件,生成相应 java 文件 3.编译工程源代码,生成相应 cla ...

  2. 安卓转战React-Native之签名打包成Apk并极速多渠道打包

    前言 搞安卓的开发应该知道开发好的apk都是需要上传到应用市场给用户下载的,当然有些公司的产品是不用上传到应用市场的(比如我们公司放七牛云)但是也需要放在云上面给用户下载.react-native直接 ...

  3. Android V1、V2签名包和快速集成美团多渠道打包

    今日科技快讯 三天的Google I/O大会2018终于落下帷幕,虽说现在的I/O大会重点已经变成了人工智能,但是Android P的推出还是让很多小伙伴激动不已的.这次Android P被喻为近几年 ...

  4. 使用build.grade文件配置相关参数与多渠道打包

    使用build.grade文件配置相关参数与多渠道打包 晨鸣的博客–使用build.grade文件配置相关参数与多渠道打包 使用build文件配置相关参数 在Android开发过程中,有时我们需要在A ...

  5. 360加固保 安全防护 多渠道打包

    官网:http://jiagu.360.cn/ 功能还是比较多的,这里仅摘录最常用的部分. 介绍 加固保介绍 加固保是为移动应用安全提供专业保护的平台,盗版App通常是将正版App进行破解.篡改后重新 ...

  6. Android的多渠道打包

    前言 本篇包括以下内容: 多渠道打包概述 友盟的多渠道打包 美团的多渠道打包 360的多渠道打包 多渠道打包概述 什么是多渠道包 渠道包就是要在安装包中添加渠道信息,也就是channel,对应不同的渠 ...

  7. Android ANT多渠道打包

    2019独角兽企业重金招聘Python工程师标准>>> 在没用AndroidStudio的Gradle构建项目之前,多渠道打包一般都是基于ANT构建,所以在此记录一下,以供查阅! 一 ...

  8. Android 新一代多渠道打包神器

    作者 :李涛 ApkChannelPackage是一种高速多渠道打包工具.同一时候支持基于V1签名和V2签名进行多渠道打包.插件本身会自己主动检測Apk使用的签名方法,并选择合适的多渠道打包方式.对使 ...

  9. Android Studio 签名配置及使用Walle实现多渠道打包

    本篇博客 主要为本人学习过程总结,有不对的地方麻烦指出,一起学习进步 前言 最近也是搞到了一个 电子书 <Android+Gradle权威指南>,学习一波Gradle 知识,尝试配置签名设 ...

  10. android多渠道打包签名配置,Gradle For Android(二) 多渠道打包与签名配置

    <Gradle For Android(二) 多渠道打包与签名配置> 转载请注明来自 傻小孩b(gold.xitu.io/user/57e089-喜欢的能够关注我,不按期总结文章!您的支持 ...

最新文章

  1. 监听应用是否切到后台
  2. 前端框架-后台模板:Xadmin
  3. jquery点击label触发2次的问题
  4. OC无法进行多人会话
  5. 1.卷2(进程间通信)---简介
  6. iphone数据传输已取消怎么办_消失的3.5mm接口:厂商真好心取消3.5mm接口?其实大家全都是韭菜...
  7. C++中的拷贝构造函数
  8. meltdown linux检测,Spectre ampamp; Meltdown漏洞检测工具
  9. 【AAAI 2021】自监督目标检测知识蒸馏:Distilling Localization for Self-Supervised Representation Learning
  10. Delphi 鼠标模拟点击
  11. 用于Android开发的免费类库和工具集合
  12. 小米A1(小米5X国际版)刷机完全指南
  13. 「机器学习」天池比赛:金融风控贷款违约预测
  14. Android 框架学习2:源码分析 EventBus 3.0 如何实现事件总线
  15. Eclipse 一直 invoking Maven Project Bulider 问题
  16. 计算机窗口移动不了怎么办,手把手为你解决笔记本电脑怎么拖动窗口
  17. springboot+shiro自定义拦截器互踢问题
  18. 【第1398期】一文读懂前端缓存
  19. DEKRA德凯新设立首席数字官、首席运营官,任命两位新成员加入董事会
  20. 我的暑期实习找工作经历

热门文章

  1. 基于微信小程序的便捷记账本家庭个人理财小程序#毕业设计
  2. 相机图像_基本知识储备
  3. box-sizing属性是什么
  4. Linux 性能调试 之 drop_caches
  5. 关于顶级域名、二级域名、子域名的问题
  6. mpu6050 z轴校准_MPU6050校准
  7. 0x8000FFFF 错误的解决方式
  8. 许奔创新社-第38问:如何练就跨界打劫的本领?
  9. 互联网思维心得体会1500字_互联网思维心得分享
  10. CCNA配置试验之八 帧中继——点到点子接口(point-to-point)