我在一个项目中使用 Eclipse 开发了一款 Android 应用程序 - 它是结构化的(来自 iPhone),因此一个常量定义它是演示版还是完整版。
现在我遇到的问题是,每次我想创建演示版本时,我都需要更改常量,但还需要使用不同的包名称制作项目的副本。
显然,原始完整版本中的更改代码需要复制到演示中,否则每次提交应用程序时我都必须重新创建演示应用程序。
我看到三种可能的方法:
1.
虽然我研究了图书馆项目,但我仍然不清楚这在这种情况下如何真正提供一个好的解决方案。
例如,如果我有带有活动结构的完整版本:
A1
A2
A3
使用实用程序类 U1、U2
当然,U1 和 U2 可以在一个库项目中,并从两个项目中引用 - 但活动、strings.xml、图形、布局需要复制(或者是否有另一种我没有看到的方法?)这似乎并不是一个很好的前进方式,不幸的是,当建议这种方法时,在有关该主题的类似问题中尚未得到解释。
2.
另一种方法是根据不同的构建设置创建不同的包名称(类似于 iPhone),但是,这在 Eclipse 中似乎不可能,而不是使用一些外部脚本(老实说,我宁愿避免,因为它看起来相当容易出错),同时编译也必须在 Eclipse 外部调用
3.
可能最直接的方法(目前也是花费很少的精力)是手动复制项目,更改一个常量,重命名包并在每次提交时编译/导出。然而,这似乎相当“基本”,而且看起来肯定不专业(与 iPhone/xCode 构建设置/目标解决方案相比)
最好的方法是什么(需要最少的更改并且仍然稳定且易于使用)?
非常感谢!
EDIT
对于每个尝试过蒂姆解决方案的人来说 - 它工作正常,但是我遇到了自定义属性的问题。
检查一下:如何解决构建过程中 Android 库自定义属性和包名称重新映射?它将解决图书馆的问题