如何合并多个 module 下的相同的 jar 包

2019-05-31 11:27:35 +08:00
 silkgrower

由于项目功能的演进,导致 app 依赖的多个 module 下存在相同的 jar 包,包的体积较大。例如 app 依赖了 A,B,C,D 等 module,app 下有 1,2,3 三个 jar 包; Amodule 下引入了 3,4,5 三个 jar 包; Bmodule 引入了 4,5,6 三个 jar 包。如何去掉重复的 3,4,5 ?

9845 次点击
所在节点    Android
7 条回复
lazyfighter
2019-05-31 11:36:40 +08:00
common?
yukiww233
2019-05-31 11:37:52 +08:00
exclude module:''
behanga
2019-05-31 14:44:10 +08:00
jar 包全换 aar,gradle 里面写 lib 依赖的时候,自动解决
vanxy
2019-05-31 16:57:27 +08:00
用包管理来解决: 把每个 jar 导出为单独的 module, 然后其他 module 再依赖这个 jar 的 module
silkgrower
2019-05-31 19:08:29 +08:00
@vanxy 空的 module 吗?
shaobin0604
2019-05-31 20:42:59 +08:00
jar 包发布到 maven 仓库,统一用远程 maven 依赖
coolqi
2019-07-10 10:36:47 +08:00
@behanga @lazyfighter @shaobin0604 @silkgrower @vanxy @yukiww233
可以请教下:一个 jar/aar 不是应该只会在存在一份在 app 中吗?

“ app 下有 1,2,3 三个 jar 包; Amodule 下引入了 3,4,5 三个 jar 包; Bmodule 引入了 4,5,6 三个 jar 包。如何去掉重复的 3,4,5 ”

1、按理说,虽然主 module 和 child module 都引用了同一个 jar,但是 app 中应该只会存在一份 不是吗?
2、如果 jar 或者 aar 可以在 module 中重复,原理是什么呢? gradle 在编译的时候是如何实现重复的 jar/aar 能都被打包进 apk 呢》

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/569394

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX