您好,首先谢谢,我有一个与项目结构有关的问题。
想象一下以下情况:我们有4个应用程序,其功能基本相同。我们称它们为A,B,C和D。每个人都是在Swift / Objective-C中原生构建的。我们可以假设A,B,C和D之间几乎有85%的代码相同。资源相同,但百分比可能较低。
我现在拥有的是一个git项目,该项目至少具有4个分支(每个应用程序一个)。在应用A中开发新功能时,我使用git checkout --patch A <filename>
将我感兴趣的更改带给其他应用。这个过程很慢,因为我必须做同样的三件事才能对所有其他三个分支进行更改。想象一下,应用程序内的Swift版本已升级,几乎所有文件都需要更新...比这样做4次更好,但仍然很慢。
是否有最佳的方式来处理此问题?在iOS中,由于程序包名称与代码文件所在的文件夹的名称无关,因此这确实是一个选项(缓慢但是一个选项),但是如何在Android中实现呢?具有几乎相同代码的同一活动位于分支A和B之间的两个不同路径(com.company.A.Activiy和com.company.B.Activiy)中,因此checkout --patch
不起作用。有什么办法吗?有什么最佳方法吗?
提前谢谢!
答案 0 :(得分:1)
对于这种情况,我将提取应用程序的核心,将所有项目都相同到其自己的库项目中,然后在4个项目中的每一个中引用该库。该库中的任何更改仅需要在4个UI项目中重新编译。