如何pipe理免费版本?

我刚刚发布了我的第一个应用程序,并希望有一个免费的版本。 我想知道如何pipe理我的免费版本分支(在SVN),这样很容易合并从完整版本的变化? 是否有可能只是在Manifest文件中更改包名称? 或者包名必须在代码中有所不同? 如果是这样,我怎么能轻松地合并变化?

谢谢,杰森

Solutions Collecting From Web of "如何pipe理免费版本?"

Android Library Project是您的朋友。

我在所有的应用程序中使用这个:

public static final boolean LITE_VERSION = true; 

然后使用它来禁用某些function。

如果LITE_VERSION设置为true,java编译器会忽略if(!LITE_VERSION)块中的任何代码,所以它不能被反向devise(可以用“javap -c”命令testing它)。

你真的想维护一个不同的分支来创build一个免费的版本?
我会使用相同的代码库,并通过#ifdef或configuration参数禁用免费版本中的某些function。

我使用Ant来构build。 我以前logging如何构build相同的应用程序的两个版本 。 最后一节讨论如何处理不同的清单可能是你最感兴趣的。

我尝试使用相同的代码库和包名称,并提供一个额外的密钥,这可能是一个额外的应用程序(apk)或只是一个序列号。 这种方法具有积极的副作用,即想要升级的用户可以使用他们的旧数据和设置。 关键只是使之前提到的标志dynamic地启用function