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

标签 android android-library multiple-versions

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

我的应用目前使用 AdMob 进行广告转换,并且已发布在 Android 电子市场和三星应用商店中。不幸的是,三星商店将来会要求每个人都迁移到自己的 Ad Network,Samsung AdHub。 AdMob 和 AdHub 都有自己的库和 SDK。

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

许多解决方案建议将主项目移至库项目,然后构建另外 2 个应用程序,其中包括库项目(基础项目)。但我不太喜欢这种解决方案(如果可能的话,我更愿意将我的应用程序保留在一个项目中)并且我正在尝试寻找替代方案,然后决定哪一个更适合我的需求。

最佳答案

我认为您应该使用策略设计模式在您的代码中实现这一点。它非常适合,可以在您喜欢的任何触发条件下切换(甚至在运行时)。如果您为每个 jar 文件制作外观,您将能够在构建时更改依赖项,并具有相同的源代码。

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

关于android - 如何实现多个Android版本使用不同的库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8760268/

相关文章:

android - 使用 AAR 和源 JAR 将 Android 库发布到 Maven

安卓工作室 : Why does my New project contain 2 modules

java - 运行多个 Java 版本

android - 从哪里了解 Android 中的 Google Maps API

java - 无法查看 android 计算器的完整方程式

android - Ksoap2 返回 anytype{} 而不是 null

java - 如何访问:app class from library?

npm - 适用于 Android 和 iOS 的不同软件包版本

c++ - 闭源库包括 boost 分发

android - AlarmManager 启动服务时的唤醒锁