我即将开始一个Android项目,它将拥有免费版和高级版。
在VC ++版本中,您可以通过在高级版块周围添加预处理程序标记(或代码将进入高级版块的位置)来执行此操作。
我可以有两个带有独立源树的项目,但是一个中的错误需要在另一个中修复。
但是在Java中你没有预处理器,那么我该怎么做呢?假设您的屏幕上有一个附加按钮,这是一个高级功能,将如何处理?
我将使用Eclipse作为我的IDE,因此以Eclipse为中心的回答表示赞赏。
答案 0 :(得分:2)
Android SDK正式解决了共享或公共代码库的问题,称为库项目。
http://developer.android.com/guide/developing/eclipse-adt.html#libraryProject
基本上,共享代码被定义为库项目,然后免费版和高级版只是eclipse工作台中的两个不同项目,两者都参考了上述库项目。
在构建时,库项目会与您的任一版本合并,这就是您想要的。
Android SDK示例源代码包含一个名为TicTacToe的项目,可帮助您开始使用库项目。
祝你好运。丹尼尔
答案 1 :(得分:1)
我宁愿将高级内容放在另一个jar中,并使用IOC来查询这些内容而不是依赖于if(bool)。
对于您的精简版,您只是不分发优质罐。
答案 2 :(得分:0)
如果它只是一个关于按钮或其他视图组件,你可以简单地将它们隐藏在'lite'版本中,比如
public static final boolean LITE_VERSION = true;
...
if (LITE_VERSION) {
premiumButton.setVisibility(View.INVISIBLE);
}