背景:

因为工作项目中,Android产品要求 可以安装测试版进行测试。这样就会要求 生产版+测试版共存的情况。

实现方式:

查询资料,发现可以采用两种方式实现。

① 多样化(Flavors)

创建项目在 src下面创建不同版本的文件夹,将对应资源放入对应目录

② 变体(Variants)

创建 build types 文件夹

我这里因为源码目录问题和实际问题,采用 创建build types文件夹的方式

1.在as 中选择 build -> edit build types 根据自己的需要进行设置即可。

则项目中会出现如下文件夹结构,将自定义或者重写的 res文件拷贝进去即可

2. 因为不同版本,涉及到不同的 配置内容。需要使在 build.gradle中进行修改。

例如,我们使用高德地图。要求 key 和包名一致。则 release\debug\enterprise各不相同。

在 androidManifest.xml中使用占位符的方式

android:name="com.amap.api.v2.apikey"

android:value="${AMAP_KEY}" />

3. 构建项目的时候,选择 左下角的   build variants 方式进行构建。

---

PS: 如果考虑项目结构比较规范,应该是采用 Flavors 的体验更好一些吧。

android 多版本共存,Android 多版本共存的处理方式相关推荐

  1. 解决 Android 中出现依赖多个版本支持库的问题

    解决 Android 中出现依赖多个版本支持库的问题 参考文章: (1)解决 Android 中出现依赖多个版本支持库的问题 (2)https://www.cnblogs.com/lshare/p/1 ...

  2. 如何导入别人的android studio项目,解决gradle版本不兼容问题

    如何导入别人的android studio项目,解决gradle版本不兼容问题 参考文章: (1)如何导入别人的android studio项目,解决gradle版本不兼容问题 (2)https:// ...

  3. 【Android FFMPEG 开发】Android Studio 中 配置 FFMPEG 库最小兼容版本 ( undefined reference to 'atof' )

    文章目录 FFMPEG 最小兼容版本 注意事项 FFMPEG 最小兼容版本 注意事项 1 . 最小兼容版本 : 在 Ubuntu 中编译 FFMPEG 时 , 需要指定头文件 与 NDK 的依赖库 , ...

  4. 【Android NDK 开发】Android.mk 配置动态库 ( Android Studio 配置动态库 | 动态库加载版本限制 | 本章仅做参考推荐使用 CMake 配置动态库 )

    文章目录 I . Android Studio 中使用 Android.mk 配置动态库 总结 II . 第三方动态库来源 III . 配置 Android.mk 构建脚本路径 IV . 预编译 第三 ...

  5. 【Android 应用开发】 Android 各种版本简介 ( Support 支持库版本 | Android Studio 版本 | Gradle 版本 | jcenter 库版本 )

    初学者遇到 Android Studio, 导入工程后, 会出现各种奇葩错误, 如果管理好各个插件, gradle, SDK, SDK Tools, 各种官方依赖库 的版本, 会将错误大大的减少; 这 ...

  6. android SDK manager 无法获取更新版本列表【转载】

    http://mirrors.neusoft.edu.cn/eclipse/releases/luna/ 打开这个网址就可以看到adt的详细信息:  http://developer.android. ...

  7. 生成release版本的Android系统

    1.使用platform密钥对apk进行签名 1.1.进入<Android_Source_Path>/build/target/product/security,找到[platform.p ...

  8. android 根据版本,Android – 根据构建类型更改flavor版本名称

    我想更改应用程序口味的版本名称,但只有当它是一个调试版本. (例如,调试版本将具有1.0.1 D(DEBUG)555或1.0.1 P(DEBUG)555等版本,但是我希望版本的版本只有1.0.1版本) ...

  9. android studio设置生成的release版本apk的名称

    今天,简单讲讲如何使用android studio设置生成apk的名称. 一.首先讲讲如何使用android studio生成release版本的apk. 1.1.前提 发布release 版本,首先 ...

  10. 我的Android进阶之旅------Android中高低API版本兼容使用@TargetApi或者@SuppressLint(NewApi)...

    Android中高低API版本兼容使用@TargetApi或者@SuppressLint("NewApi") 例如:AndroidManifest.xml中,我们配置了sdk版本的 ...

最新文章

  1. 激光雷达和相机感知融合简介
  2. 2015c语言成绩查询,2015年3月全国计算机二级C语言选择第1套
  3. python issubclass 和 isinstance函数
  4. springbot 注入多实例
  5. C++工作笔记-简单工厂模式基础(用静态类传入函数指针,再进行调用)(仿大佬代码)
  6. 负载均衡的几种方式_负载均衡的几种方式
  7. ppt里quicktime不可用_PPT插入音乐、视频的全部疑难问题,一站式帮你解决!
  8. AMD推土机性能逼近六核心Core i7
  9. 简明Python3教程 15.异常
  10. python杂记-集合和字典
  11. c语言详解  蔡勒(Zeller)公式计算某一天是星期几  极其方便
  12. 我用计算机的故事,计算机老师的我的教育故事随笔
  13. 微信小程序: wx:key详解
  14. c语言流水调度作业,最优流水作业调度问题:流水作业调度问题
  15. linux使用dd命令生成指定大小文件
  16. Semantic UI学习(一、开始使用)
  17. Android程序报错:Anroid 6.0 权限问题java.io.FileNotFoundException: ……:open failed: EACCES (Permission denied)
  18. plsql免oracle客户端配置,PLSQL DEVELOPER 配置免安装ORACLE客户端
  19. 用STC12C5A60S2的P4接口点亮LED
  20. 【微信小程序使用canvas绘制二维码】

热门文章

  1. 人工智能初步学习笔记
  2. openCV 出现 0x770413C5 (ntdll.dll) 第一机会异常: 0xC0000005: 读取位置 0x00000008 时发生访问冲突 解决办法
  3. python后退快捷键_IntelliJ IDEA的后退快捷键是什么?
  4. Python2—0704笔记
  5. Gitter有趣的软件安装界面
  6. 知乎 | 一个博士生接受怎样的训练是完整的科研训练?
  7. wordpress启动_使用Wumblr在WordPress中启动微博
  8. Tarjan算法附图详解(SCC)
  9. Serein 【懒人神器】一款图形化、批量采集url、批量对采集的url进行各种nday检测的工具 摸鱼项目问题解决
  10. NetSpeeder V3.70 绿色特别版