最近项目从eclipse迁移到AS上,主要是为了使用gradle这个插件进行apk打包。毕竟程序员还是要与时俱进的。首先介绍下项目主要需求:

1、使用百度统计,需要对个平台的信息进行统计

2.、api分开发版和发布版,需要自动区分api

对于api区分不同环境(开发环境/部署环境),这个需求还是很好解决的。api url定义到常量类UrlConstant中,然后根据不同环境配置不同的domain即可。下面介绍配置:

  1. 在工程src目录下新建debug(开发环境),release(部署环境)两个文件夹,
  2. 分别在debug和release目录下建立com.cml.constant包(根据自己的项目建立),然后分别建立UrlConstant类,将对应的domain配置编写上去即可

经过简单的两个步骤,多环境问题解决了,编译时会自动根据环境加载不同文件下的类的。AS直接运行时使用的是debug环境的配置,打包发布后运行的是release的环境。

2、百度多渠道统计,主要是使用多渠道打包功能,主要是使用

productFlavors{
baidu{
manifestPlaceholders = [BaiduMobAd_CHANNEL: "baidu"]
}
yyb{
manifestPlaceholders = [BaiduMobAd_CHANNEL: "yyb"]
}//应用宝
}

网上很多,随便找找都有

经过上面配置后,基本要求实现了,但是项目中使用到百度统计和百度推送,不同环境的key是不一样的。总不可能在productFlavors为每个渠道都配置一次吧,那样繁琐而且不能区分环境。

下面就介绍下具体配置(实测可用),主要是使用manifestPlaceholders。在buildTypes不同环境中添加上对应的key即可。代码如下:

 buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
manifestPlaceholders = [BaiduMobAd_STAT_ID: release_stat_key, lbsapi_API_KEY: release_baidupush_key]
signingConfig signingConfigs.release
}
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
manifestPlaceholders = [BaiduMobAd_STAT_ID: debug_stat_key, lbsapi_API_KEY: debug_baidupush_key]
}
}

这样就轻松实现了多环境和多渠道打包的配置。

最新文章

  1. *使用while循环遍历数组创建索引和自增索引值
  2. [unity3d程序] 纹理扩散
  3. ExtJS4加载FormPanel数据的几种方式
  4. Tomcat8 配置NIO
  5. left join 、right join 、inner join和 full join的区别
  6. 回顾:Linq To SQL语法 - 实体类
  7. .net简单页面后台绑定下拉框,按钮,分页 前台aspx页面
  8. SugarSync网盘之XML解析
  9. 为Array 添加indexOf
  10. 2.3. 实体(Core Data 应用程序实践指南)
  11. ie启动不了的解决办法,win7,win8都可以
  12. netty4.x 传输文件
  13. C++/C# 开发高级案例资料一次送!关注加群领取哦!
  14. 面向对象(__str__和__repr__方法)
  15. Spring Websocket实现简易在线聊天功能
  16. mysqldump命令的安装
  17. POJ 2002 Squares 几何, 水题 难度: 0
  18. Python3中Urllib库基本使用
  19. Vue-axios快速上手(转)
  20. 深入学习c++--左值引用和右值引用

热门文章

  1. Java环境下 selenium webDriver + chrome浏览器搭建与调试
  2. SpringCloud(七)超时、重试
  3. 使用Idea当中的快捷键快速查看继承关系或其图表的两种方法
  4. centos7.4挂载硬盘
  5. 【转载】pyinstaller的使用和几个坑
  6. 在 ubuntu20 上替换原有的源,解决下载软件慢的问题
  7. 【Python】在Pycharm中安装爬虫库requests , BeautifulSoup , lxml 的解决方法
  8. 《Android的设计与实现:卷I》——第1章 1.2.2动态视角的体系结构
  9. C语言编程入门题目--No.8
  10. pycharm(破解教程)