首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android :如何在没有冲突依赖的情况下创建库

Android :如何在没有冲突依赖的情况下创建库
EN

Stack Overflow用户
提问于 2021-10-07 16:50:46
回答 1查看 32关注 0票数 0

我正在创建一个android库,它最终将用于我的许多应用程序。假设这个库与1.0版有一个依赖关系X。如果主应用程序想要在0.5版中使用依赖项X怎么办?我不想让主应用程序经历通过gradle排除依赖项的过程。还有别的办法吗?我正在考虑更改名称或为我的库中的依赖项指定别名?这有可能吗?

EN

Stack Overflow用户

回答已采纳

发布于 2021-10-07 17:18:38

如果gradle在依赖关系图中找到一个依赖关系的两个(或更多)版本,它将默认选择最新版本。大多数库都保证向后兼容,因此这通常可以很好地工作。Gradle还提供了大量的钩子,让客户选择不同的策略。

如果您确实希望实用程序的使用者在其类路径上具有两个版本的(共享/传递的)依赖项,则需要重新打包依赖项,以便每个类都移动到不同的包中,因为在类路径中每个(完全限定的)类名只能有一个版本

要重新打包jar,请看一下shadow plugin。许多库(例如hibernate和spring)选择重新打包/隐藏ASM jar以避免冲突。

请注意,99%的情况下重新打包jar是错误的选择,您应该让正常的依赖项解析过程发生。

请参阅understanding dependency resolution

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69484994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档