首页 > 解决方案 > 如何强制android studio为项目和库使用不同的库版本

问题描述

我有一个使用旧版本的 google play 服务的项目,我需要保留它,否则需要大量重写。现在我添加了一个使用更新版本的谷歌播放服务的新库,我得到了一个重复的类错误。

如何强制 android studio 在库中使用较新版本的 google play 服务,但也能够在我的应用程序中使用旧版本?

标签: android

解决方案


不幸的是,这是不可能的。您的应用程序和库的类组合成您的 APK,因此您只能拥有给定库的一个版本。您可以强制它使用两个版本之一(例如,像这样的东西),但根据您需要大量重写的声明,我假设这两个版本不兼容 API。

有像Jar Jar Links这样的实用程序可以在某些情况下解决这个问题,但是(特别是基于嵌入式 proguard 规则,这些规则通过反射找到引用类)如果它在像 Google Play 这样复杂的情况下工作我会感到惊讶服务,这可能取决于其类名保持不变。


推荐阅读