2010-12-07 63 views
7

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

感谢,杰森

回答

1

你真的想保持一个不同的分支创建一个免费的版本?
我会使用相同的代码库和在免费版禁用某些特征,无论是由#ifdef或配置参数。

+0

但我不能在市场上发布同样的包名APK两次反正能吗? – Jason 2010-12-07 18:31:54

+0

@Jason,我不知道android开发,但是你不能只保存一个单独的包名称被定义的文件副本吗? – 2010-12-07 18:43:03

+0

如果只是在清单中,那么是的,但如果我需要更改代码包,那么这可能是一个问题,我被建议做一个假包,只是将清单文件更改为可能工作的假包会让你知道它是否 – Jason 2010-12-07 18:47:54

2

我在所有的应用程序使用此:

public static final boolean LITE_VERSION = true; 

然后用它来禁用某些功能。

重要的是要知道,如果LITE_VERSION设置为true,java编译器将忽略if(!LITE_VERSION)块中的任何代码段,所以它不能被反向设计(可以使用“javap -c“命令)。

+1

很感谢,但这仍然给我带来软件包名称问题,你对此做了什么? – Jason 2010-12-07 18:49:08

0

我尝试使用相同的代码库和包名,并提供溢价键,这可能是一个额外的应用程序(APK),或只是一个序列号。这种方法具有积极的副作用,即想要升级的用户可以使用其旧数据和设置。关键只是使得像提一个标志,它使功能前动态