1

我们正在开发一个项目,我们想为它制作 2 个版本。

一种需要付费服务(如短信、电话等)的权限,另一种则不需要。

我们正在寻找一种将其集成到一个项目中的方法,这样我们就不必跟踪 2 个项目中的更改,因此我们不会仅仅因为这个微小的差异而拥有 2 个不同的源文件。

有没有办法设置两组权限并在编译时决定我们想要哪一组?

谢谢!

4

3 回答 3

0

将项目文件存储在存储库中,例如git. 来自 github.com 的 github 应用程序或来自 mac 应用程序商店的 sourcetree 应用程序将在 GUI 中执行此操作,并且它们都是免费的。将代码放入 git 后,您将拥有一个“主”分支。在 git 中创建一个“免费赠品”分支。最初,这将具有您的主分支中的所有源。更改您需要在免费赠品分支中删除权限的代码 - 为简单起见,将其设为仅一个文件的唯一功能。在主分支中进行开发并在那里编译。在 github/sourcetree 应用程序中的分支之间来回切换。

当你想编译一个免费赠品版本时,在 git 中,切换到免费赠品分支。然后使用 git merge 命令 - 它已集成到 github 应用程序中 - 将更改的文件从 master 复制到 freebie。除非您在两个分支中更改同一个文件,否则这应该是一个不涉及人工的一键式操作。然后进行正常编译,您将获得免费赠品应用程序。当您在 git 中切换分支时,git 会将源代码树中的所有文件交换为另一个分支中的文件,因此一切正常。

对于我强烈推荐的更聪明的 git 使用方式,您可以尝试http://nvie.com/posts/a-successful-git-branching-model/

于 2012-12-01T11:41:49.280 回答
0

您可以使用两个应用程序共有的所有代码创建一个库项目。然后将库项目包含在两个应用程序项目中,并在那里实现所有应用程序特定的东西。

于 2012-12-01T12:13:13.163 回答
0

好的所以经过一些研究和谷歌搜索,我得到了适合我的答案!

马文!我编写了一个具有 2 个配置文件的 pom.xml 文件,我可以在 cmd 行中提供我想要的配置文件,并根据这些配置文件将相关文件(比如 AndroidManifest.xml)从正确的文件夹复制到项目的文件夹并编译和将其部署到手机。

这样我需要维护 2 个单独的清单文件,但我不必处理 SVN 可能的合并和冲突问题,也不需要库代码。

希望这个答案对某人有所帮助,我也要感谢在这里回答的人!:)

于 2012-12-03T20:27:42.430 回答