Android和源代码管理的项目端口

问题描述 投票:2回答:2

[我们正在尝试将现有的Java应用程序移植到android,并希望了解管理源代码的最佳实践。

我们已经将我们的大项目分解为几个不可知的项目,但是我们仍然有一个大的整体项目。对于那些小的框架,我们不需要做很多工作,但是大型框架需要重写。

[暂时,开发人员正在将我们的应用移植到Android,但是其他开发人员仍在非Android项目上继续开发新功能。当端口完成时,我们将不得不将所有修改重新合并到android代码库中,这将是一个真正的痛苦。所以我的问题是:我们应该如何管理代码源?我们应该为每个平台创建一个特定的存储库吗?我们应该将这两个代码库保存在同一个存储库中,但指向不同的分支,以便于合并吗?

java android version-control porting
2个回答
3
投票

这可能不是源管理问题。尝试创建一个抽象的移植层。它应抽象出使您的应用程序运行所需的所有API。然后,例如在SWT下,使用SWT API实现该移植层,例如,在Android下,使用Android API实现同一层。

可以想象:

public interface ISoundEngine {
void startSound();
void stopSoud();
}

您的应用程序的其余部分使用startSound / stopSound来操作引擎。

因此,在Windows下您可以实现

public WindowsSoundEngine implements ISoundEngine {
...
}

在您实施的Android下

public AndroidSoundEngine implements ISoundEngine {
...
}

在每种情况下都使用Windows特定和Android特定的低级API。


0
投票

我看到的唯一好的解决方案是将所有通用代码移至库,您可以独立进行开发。然后为Swing UI,Android UI等创建项目。如果您的逻辑仍然需要某些平台特定的服务(用于数据存储,即通知),则在客户端调用通用库时,使用Alex的方法来传递正确的库。

© www.soinside.com 2019 - 2024. All rights reserved.