这篇文章是自己尝试第一次写博客。
每一个开发海外的同学都经过的的痛。也许是海外开发很单调简单,导致很少看到有介绍海外版本如何管理的文章。但这一块的内容其实很有借鉴性。如果没有一个好的开端,后续的维护工作只能是借助人丁兴旺来了。所以我就想抛砖引玉一把,看是否能够有更多好的管理思路和想法来给于分享。海外版本管理的方法总结一般都是经验之谈。很少有有经验的人来管理。不要问我为什么,我只想说做完第一遍还能坚持做第二遍的是真爱。
圆规正传那么海外版本管理,到底都需要经历些什么,提炼出什么?这个过程也许是漫长的积累总结,也许是顿悟,也许是经验。无论哪种最后都绕不开各个地区差异这一核心问题。
差异内容大致可以分为三大块。
1.UI 相关
- 语言
· 语言的处理绕不开的一定是配置化,各个地区维护统一的key,加入中文备注。为了避免key的冲突,需要提前划分好区段,或者命名前缀。
- 界面
界面多语言抽取,这个最好在项目是刚开始的时候留有接口,后续扩展起来也就简单了,如果没有只能人工配置LanguageKey 或者通过写工具抽取配置文件的中的中文,并动态生成LangaugeKey。
登录,充值等界面的差异是必然的。每个代理都有自己的界面设计要求,所以针对这个只能老老实实的差异化。
- 语法,数字,时间格式,文字长度可以归为一类
这类差异处理,只能通过代码层面封装。针对各个地区提炼一套完整的差异化处理工具类。
2.底层相关
- SDK
SDK 是所有里面最复杂的部分,我们项目这一块也是在纠集了很多个部门一起来完成的。当然如果项目人员配置够,可以考虑自己来做。这一块的核心思路就是封装,抽象。提供给上层的接口不动。无论切换何种代理,登录都是调用统一接
- 多语言
android 底层自带多语言处理功能,使用Strings.xml 配置到各个地区文件下就好。
- 各代理配置
代理提供的参数配置,我们是配置在统一sdk后台系统中,在通过加壳打包的时候,把这些参数附带到对应的问价中。
- 签名,icon, 等一些无法调和的矛盾。这类问题只能保持差异
3.地区分支管理策略
- 地区管理,我们项目采用的是按版本为tag,每个版本统一管理策略。针对所有地区采用同一套代码,资源、表根据配置读取不同地区的,通俗的将就是1.2 1.5 1.8 这种的版本tag 为各个主干,每次版本升级都是 直接拿下一版本的tag 进行资源替换就能搞定。
- 分支管理,分支我们分为主干,分布,备份三个分支。开发合并新内容在主干,发布时合并到发布分支,进行出包处理,每次发包之前备份一次。
文采有限,每一个内容都只是介绍了思路,具体的实现方案,还得各个项目根据实际情况进行提炼总结。
今天就介绍到这吧。下次再写些偏技术性的。
原文地址:https://www.cnblogs.com/canyuexueying/p/9183495.html