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