我知道有很多关于与免费/付费版本相关的多个 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/