android - 如何强制android studio为项目和库使用不同的库版本
问题描述
我有一个使用旧版本的 google play 服务的项目,我需要保留它,否则需要大量重写。现在我添加了一个使用更新版本的谷歌播放服务的新库,我得到了一个重复的类错误。
如何强制 android studio 在库中使用较新版本的 google play 服务,但也能够在我的应用程序中使用旧版本?
解决方案
不幸的是,这是不可能的。您的应用程序和库的类组合成您的 APK,因此您只能拥有给定库的一个版本。您可以强制它使用两个版本之一(例如,像这样的东西),但根据您需要大量重写的声明,我假设这两个版本不兼容 API。
有像Jar Jar Links这样的实用程序可以在某些情况下解决这个问题,但是(特别是基于嵌入式 proguard 规则,这些规则通过反射找到引用类)如果它在像 Google Play 这样复杂的情况下工作我会感到惊讶服务,这可能取决于其类名保持不变。
推荐阅读
- c - 如何使用没有内置函数的 C 比较具有特定格式的车辆的两个车牌
- pandas - 如何用pandas.melt将同一张表中的四列融合在一列中
- reactjs - Express-React-JWT:如何使用静态文件请求发送 Bearer 令牌
- slack-api - 作为机器人搜索 Slack 消息
- php - 在客户详细信息之后,WooCommerce 的普通电子邮件通知有什么钩子?
- javascript - Gatsby ReactJS 从模块无限加载中导入 CSS
- json - 使用 kotlinx.serialization 将 json 对象属性反序列化为字符串
- vue.js - Vue中的多个因变量
- jupyter-notebook - 如何将单元格字体从 Jupyter 笔记本中的代码(在编辑模式下)更改回正常模式?
- java - 我可以在谷歌地图上打开确切的位置吗?