由于项目功能的演进,导致 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 ?
由于项目功能的演进,导致 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 ?
|
lazyfighterMay 31, 2019
1
common?
|
|
yukiww233May 31, 2019
2
exclude module:''
|
|
behangaMay 31, 2019
3
jar 包全换 aar,gradle 里面写 lib 依赖的时候,自动解决
|
|
vanxyMay 31, 2019
4
用包管理来解决: 把每个 jar 导出为单独的 module, 然后其他 module 再依赖这个 jar 的 module
|
|
5
@vanxy 空的 module 吗?
|
|
shaobin0604May 31, 2019
6
jar 包发布到 maven 仓库,统一用远程 maven 依赖
|
|
coolqiJul 10, 2019
7
@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 呢》 |