android应用程序的多个实例-git项目管理最佳方法
我有一个应用程序,它将有多个实例。实例在某些资源上有所不同,可分为两组:android应用程序的多个实例-git项目管理最佳方法,android,git,resources,Android,Git,Resources,我有一个应用程序,它将有多个实例。实例在某些资源上有所不同,可分为两组: 仅在(未)注释的代码中不同,存在整个代码 颜色 弦 布局上的微小差异(例如,在一个实例中,某些组件将消失,在另一个实例中,它们将可见,但代码仍然存在) 完全替换(名称、文件) 包名 抽绳 res/raw格式的证书(所有证书不得存储在那里,仅用于特定实例) 处理这些需求的最佳方法是什么?使用不同的git分支? 我使用git(smartgit客户端)。我想当我为不同的实例使用不同的分支时,所有的需求都可以得到满足。但我
- 颜色
- 弦
- 布局上的微小差异(例如,在一个实例中,某些组件将消失,在另一个实例中,它们将可见,但代码仍然存在)
- 包名
- 抽绳
- res/raw格式的证书(所有证书不得存储在那里,仅用于特定实例)
PS:我明白,当添加新功能时,我需要将一些主分支合并到所有其他分支中 毕竟git方法不是那么正确。使用构建多个应用程序实例(产品风格)是正确的做法: 1)每个应用程序实例的特定文件和资源 颜色和字符串位于资源文件中:
Project/module/src/instance\u name/res/values/instance\u name\u cfg.xml
布局位于:Project/module/src/instance\u name/res/layout/instance\u name\u cfg.xml
Java代码位于:Project/module/src/instance\u name/Java/package.name/MyClass.Java
drawables(PNG图像)位于:Project/module/src/instance\u name/res/drawable/
,ic\u launcher图像仅位于不同文件夹(drawable hdpi,…)中的同一路径中
常见文件和资源位于Project/module/src/main/
文件夹中
2)在第一张图片中是整个文件结构。
我的例子是城市(达曼、吉达、布拉格、雷丁)。屏幕截图取自AndroidStudio,在这里您可以切换构建变体(风格)——位于图片底部
3)第二张图片中有build.gradle文件的一个片段。
混合应用程序(实例)资源非常强大。如下图所示,可以将资源、java文件甚至清单文件组合在指令sourceset中。例如,Dammam和Jeddah具有相同的java文件、一些公共资源和每个实例的特定资源。在源集中使用实例名称(如dammam)必须在指令ProductFlavors中的声明之前