如何实现多个Android版本以使用不同的库?

时间:2012-01-06 15:34:31

标签: android android-library multiple-versions

我知道有很多关于免费/付费版本的Android版本的问题,但这可能会有所不同。

我的应用目前使用AdMob进行广告宣传,并在Android Market和Samsung App Store上发布。不幸的是,三星商店将要求大家将来迁移到他们自己的广告网络,三星AdHub。 AdMob和AdHub都有自己的库,他们自己的SDK。

我正在寻找构建2个不同版本的解决方案,其中一个包括AdMob,另一个包括AdHub(以及所有必需的代码)。在新版本发布的时候,我有什么解决方案可以轻松地构建2个版本而不会有太多麻烦?

许多解决方案建议将主项目移动到库项目中,然后构建其他2个应用程序,其中包括库项目(基础项目)。但我不是很喜欢那个解决方案(如果可能的话,我更愿意将我的应用程序放在一个单独的项目中)并且我正在寻找替代方案,然后决定哪一个更适合我的需求。< / p>

4 个答案:

答案 0 :(得分:1)

我认为你应该使用策略设计模式在代码中实现这一点。它套装良好,可以在任何触发器上切换(即使在运行时)。如果为每个jar文件创建一个Facade,您将能够在构建时更改依赖关系,具有相同的源代码。

使用此方法的其他选项只是在您的应用程序中进行一些配置,以确定要使用的库。

答案 1 :(得分:1)

现在的方法是使用Android Studio并为每个应用程序使用不同的Gradle风格。因此,如果您修复核心功能,则可以使用自己的广告网络快速为每个appstore进行构建。

答案 2 :(得分:0)

图书馆计划是最佳选择。创建一个基础项目,在其中实现所有常见的东西,然后创建两个单独的项目,使用公共项目作为“库”。然后只需实现使应用程序表现不同所需的其余部分。

答案 3 :(得分:0)

可以在这里找到一些有趣的解决方案:

https://groups.google.com/d/topic/android-developers/8pRugcnzR_E/discussion