android - 在 Eclipse : how to make it less painful? 中使用 Android 应用程序切换试用版和专业版

标签 android eclipse versions building conditional-compilation

我有一个 Android 应用程序,它有两种形式:试用版和付费“专业”版。这两个版本在 Android Market 中共存,并且具有不同的包名称(我们称它们为 com.app.trial 和 com.app.pro)。他们共享相同的代码库。当我必须在 Eclispe 中的试用版和专业版之间切换时,我每次都要花费不少于 20 分钟来编辑代码以使其构建正确的版本。我的程序如下所示:

  1. 重命名 AndroidManifest.xml 中的包名称(同时重命名应用版本名称和版本代码)。

  2. 单击主包名称“com.app.pro”(如果 pro 是最新版本,现在我想进行试用版)并选择 Refactor->Rename(选中“更新引用”和“重命名”子包') 并让 Eclipse 进行重命名。

  3. 接下来是困难的部分:在我的代码中,许多文件仍然导入“旧”包名称“com.app.pro”,而不是自动更改为“com.app.trial”。在某些情况下,Eclipse 会在重命名期间添加这些引用,原因不明(在给定的 Java 文件中没有对这个特定包的引用)。我必须手动编辑所有实例。

我的问题是:

如何使这个过程耗时更少?我也一直在使用 NetBeans,它对 #ifdefs(又名 Abilities)提供了方便的支持,这确实使构建之间的切换变得轻而易举。不幸的是,Eclipse 不支持(至少没有内置支持)#ifdefs。

如有任何建议,我们将不胜感激。

附言作为引用,我使用的是 Eclipse Ganymede 版本 3.4.2,但也尝试了更新的版本,它的作用相同。

最佳答案

一个很好的解决方案是将您的应用程序分成三个项目:

  • 一个 library project , 将包含所有通用代码
    • 实际上,为一个应用程序创建两个版本(精简版和付费版)是本页讨论的常见场景之一;-)
  • 一个试用版项目,
  • 和一个专业版项目。

每个试用版和专业版都将:

  • 引用库项目(包含几乎所有代码)
  • 定义特定于试用版或专业版的内容(例如 list 、一些字符串、一些附加代码......)

有了它,构建试用版或专业版就像构建一个或另一个项目一样简单:无需更改任何内容!


几个可能有帮助的链接:

关于android - 在 Eclipse : how to make it less painful? 中使用 Android 应用程序切换试用版和专业版,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5443970/

相关文章:

android - 如何开发同一应用程序的生产版和测试版以安装在同一设备中

javascript - 如何使像 VSCode 或 WebStorm 这样的 JavaScript IDE 在代码完成方面像 Eclipse 一样智能?

python - 为什么 Python 的控制台在 Eclipse 中的调试视角中与 PyDev 分开?

java - 查询 Firestore 中集合中的不同字段

android - Dagger 场注入(inject)测试

c++ - 加载共享库时出错 : libsystemc-2. 3.0.so

c# - 如何在 C# 程序中使用特定版本的 Excel

cocoa - 浏览版本时出现奇怪的窗口行为

android - 如何在 Android 应用中设置全息黑暗主题?

android - CN1 连接 - 公共(public)场所互联网不稳定的担忧