我有一个主要从 Android Market(现在是 Google Play)下载的 Android 应用。我们对源代码进行了一些调整,并提交给亚马逊应用商店,看看它得到了什么样的牵引力。我现在正在寻找一种可持续的方式来从通用代码库进行开发,然后构建以便我可以提交给其中一个/两个。
亚马逊商店对可用 API 有一些限制,因此我想有条件地从该版本中删除/修改功能。由于 Java 不支持传统的条件编译,并且在 Eclipse 中有条件地包含文件似乎并不简单(甚至可能吗?),我想问问其他人正在做什么来解决这个问题。
诚然,我不是 Eclipse/Java 专家,所以请随意指导我。
我在解决方案中寻找什么:
这是您专门针对 Android 应用程序或其他基于 Java/Eclipse 的项目解决的问题吗?建议从哪里开始?
最佳答案
在最新版本的 ADT(版本 17)中很容易做到,尽管我确实发现它会使编译时间更长:
如果您有一些变量应该为每个子项目设置不同(即 bool 型 GOOGLE_PLAY_VERSION 以启用 Google Play 特定功能),您必须创建另一个项目来包含这些值,因为您不能拥有引用一个的项目-另一个以循环方式。您可以通过添加以下步骤来解决此问题:
注意dummy中的变量不能设置为final,否则会覆盖子项目的设置。
这似乎是一项相当多的前期工作,但就版本控制而言,这对我来说效果很好。
编辑: 现在随着 Google 迁移到 Android Studio 和 Gradle,如果您要开始一个新项目,如果您想支持多个 APK,那么迁移到它可能会更好,请参阅 Android 开发网站的 Building Your Project with Gradle#Work with build variants。 .在决定之前评估该选项绝对没有什么坏处。
https://stackoverflow.com/questions/9815038/