由于项目功能的演进,导致 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 ?
1
lazyfighter 2019-05-31 11:36:40 +08:00
common?
|
2
yukiww233 2019-05-31 11:37:52 +08:00
exclude module:''
|
3
behanga 2019-05-31 14:44:10 +08:00
jar 包全换 aar,gradle 里面写 lib 依赖的时候,自动解决
|
4
vanxy 2019-05-31 16:57:27 +08:00
用包管理来解决: 把每个 jar 导出为单独的 module, 然后其他 module 再依赖这个 jar 的 module
|
5
silkgrower OP @vanxy 空的 module 吗?
|
6
shaobin0604 2019-05-31 20:42:59 +08:00
jar 包发布到 maven 仓库,统一用远程 maven 依赖
|
7
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 呢》 |