项目中用到了多渠道打包,由于各个渠道对应了单独的渠道号,和签名密钥(或者说加密用的盐),但是又需要在编译时动态替换代码里的参数配置。我把这些需要配置的内容转移到了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. Activiti——工作流之流程实例、任务的执行(五)
  2. 深度学习发展简要笔记
  3. 【算法笔记】B1044 火星数字
  4. for(;;)是什么,for(;;)的作用
  5. 客户端(STS)连接服务器上redis时的问题
  6. ⚡关于Eastmount博客「网络安全自学篇」系列重要通知!!!⚡
  7. Litho在美团动态化方案MTFlexbox中的实践
  8. 创建为ClickOnce清单签名的.pfx格式数字证书
  9. Netty工作笔记0047---Http服务程序实例
  10. SpringMVC由浅入深day01_1springmvc框架介绍
  11. [转载] Python输入,输出,Python导入
  12. python 使用异常代替返回状态码
  13. Spring常用注解含义
  14. 学习《华为基本法》(7):利益分配
  15. 黑苹果麦克风无法使用的问题(仅针对自己的配置)
  16. uniapp调用芯烨xprinter打印机安卓sdk
  17. Linux 系统升级蝉道
  18. python饼图 立体_【Python基础】惊叹,Pyecharts绘制饼图原来可以如此漂亮!
  19. 如何解决Access denied for user ''@'localhost' (using password: NO)错误
  20. java modifier access_Java Modifier.getAccessSpecifier方法代码示例

热门文章

  1. 接口先决条件失败412
  2. java线性方程组求解_java解线性方程组
  3. Adnroid Studio kotlin 报错AssertionError: Could not delete caches xxx kotlin\compileKotlin文件名太长
  4. uniapp 电商小程序 置顶特效/分享特效/红包特效 简单实现效果
  5. 如何有效管理项目进度?管控关键里程碑?
  6. Centos Siege测试使用
  7. 【参考文献】软骨细胞生长培养方法
  8. android视频添加特效,安卓手机视频特效软件 用手机给视频加特效 安卓手机视频加闪电特效...
  9. 推荐尽可能看Paul Deitel的英文原著《C how to Program, Sixth Edition》
  10. 云服务器5m带宽会有什么样的速度?