如何管理Android应用商店(Google / Amazon /等)的代码/构建?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (15)

我有一个主要从Android Market(现在,Google Play)下载的Android应用程序。我们对源代码进行了一些调整,并提交给亚马逊应用商店以查看它获得了什么样的牵引力。我现在正在寻找一种可持续的方式,从一个通用的代码库开发,然后构建,以便我可以提交给/两者。

我在解决方案中寻找什么:

  • 使用Eclipse进行构建/调试。
  • 静态代码文件,通过环境/设置切换来控制要构建的内容。
  • 代码中没有重复的代码或条件逻辑以在运行时选择代码流

这是你专门为Android应用程序或其他基于Java / Eclipse的项目解决的问题吗?

提问于
用户回答回答于

你可以创建一个接口CustomBuild,并在AmazonBuild和GooglePlayBuild中实现它,然后使用静态getBuild()方法根据需要切换功能:

if(getBuild().shouldEnableFeatureX()){
    doStuff();
} else {
    doDifferentStuff();
}

用户回答回答于

在最新版本的ADT(版本17)中执行起来很容易,但我确实发现它使编译时间更长一些:

  1. 创建一个新的Android项目(proj-A
  2. 转到Project-> Properties,选择Android,然后选中“Is Library”
  3. 将所有通用代码移至proj-A,导入所有必需的库
  4. 为Google Play创建一个新的Android项目(proj-B
  5. 转到Project-> Properties,选择Android,然后将Proj-A添加到库中
  6. 对亚马逊版本重复#4和5

如果你有一些变量应该为每个子项目设置不同的值(例如布尔值GOOGLE_PLAY_VERSION来启用Google Play特定函数),那么你必须创建另一个项目来包含这些值,因为你不能在一个项目中引用另一个项目循环时尚。您可以通过添加以下步骤来解决此问题:

  1. 将所有子项目特定的变量拉入一个或多个类,这些类只是作为这些变量的容器
  2. 创建一个“虚拟”Java项目(虚拟
  3. 配置proj-A将一个新的Source链接添加到dummy的bin目录
  4. 在每个子项目中添加配置类和项目特定的更改
  5. 利润!

扫码关注云+社区