Android - 如何管理具有相似内容但不同包名称和应用程序名称的多个项目

时间:2016-06-18 02:29:49

标签: android git

我们有一个项目,我们需要发布两个版本,这些版本具有近99%的相似功能,但包名称和应用程序名称不同。

我们在git中为该项目创建了一个分支,该分支处理客户端的版本,而主分支是我们的版本。

现在,问题是每次我们修复主版本的一些错误时,我们需要在客户端版本上执行相同的操作。但是,这只会使工作量增加一倍。如果我们只是将它直接推送到该分支,由于包名称的不同,将会有很多冲突需要解决。

这有一个很好的解决方案吗?谢谢!

1 个答案:

答案 0 :(得分:1)

JLT,

在gradle中查看构建变体。这将允许您创建不同的口味和包。

http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants

您也可以使用库,但有时可能会变得有点复杂。我已经完成了两项工作,并且更喜欢使用gradle完成所有工作,然后我可以专注于开发而不是额外的库,也许还有多个代码库。

以下是您可以在build.gradle文件中使用的示例:

android {
    final PACKAGE_NAME = "com.example"

    productFlavors {
        app1 {
            applicationId PACKAGE_NAME + ".app1"
        }
        app2 {
            applicationId PACKAGE_NAME + ".app2"
        }
    }

}