具有相似代码和一个项目的相似应用

Similar apps with similar code and one project

您好,首先提前致谢,我有一个与项目结构相关的问题。

想象一下以下情况:我们有 4 个应用程序,它们的功能基本相同。我们称它们为 A、B、C 和 D。每个人都是在 Swift/Objective-C 中原生构建的。我们可以假设几乎 85% 的代码在 A、B、C 和 D 之间是相同的。资源也相同,但可能百分比较低。

我现在有一个 git 项目,至少有 4 个分支(每个应用程序一个)。当我在应用程序 A 中开发新功能时,我使用 git checkout --patch A <filename> 将我感兴趣的更改带到其他应用程序中。这个过程很慢,因为我必须做同样的 3 件事才能对所有其他 3 个分支进行更改。想象一下,应用程序内部的 Swift 版本升级了,几乎所有的文件都需要更新......这比做同样的 4 次要好,但仍然很慢。

是否有最佳的处理方式?在iOS中,由于包名与代码文件所在文件夹的名称无关,这确实是一个选项(慢,但是一个选项),但是在Android中如何实现?几乎相同代码的相同Activity位于分支A和B之间的两个不同路径(com.company.A.Activiy和com.company.B.Activiy),因此checkout --patch不起作用。任何解决方案?有什么好的方法吗?

提前致谢!!!

对于那种情况,我会提取应用程序的核心,这对于所有项目来说都是相同的,放入它自己的库项目中,然后在 4 个项目中的每一个中引用该库。该库中的任何更改只需要在 4 UI 个项目中重新编译。