Android多個module引用相同的第三方庫,會重複打包麼?

時間 2021-05-30 08:13:02

1樓:KLam

可以會,也可以不會,看你實現。外掛程式化會遇到這個問題,建議看看ClassLoader載入類機制。就算同乙個類,用不同ClassLoader載入,也被認為是不同類

2樓:fengma chu

如果多個模組是通過【compile+座標】的方式來依賴庫的話,那麼只會編譯乙個版本,並且是最新版本, 比如:

module A:

compile "com.fengma.tool:gradle-tool:2.1.2"

...module B:

compile "com.fengma.tool:grdle-tool:2.3.3" //gradle缺省會編譯最新版本

如果你想改變預設的編譯版本選擇,可以通過Gradle的依賴選擇機制強制指定某個版本:

configurations.all {

resolutionStrategy.eachDependency { DependencyResolveDetails details ->if (details.requested.

group == 'com.fengma.tool'details.

useVersion '2.1.2'details.

because 'Use Lower version'

但是,有一種情況需要注意:

當module A 以【本地lib】的方式引入某個jar包,module B以【compile +座標】的方式引入同乙份庫,則會引起編譯衝突導致編譯失敗,需要統一依賴方式。

module A:

compile files('libs/fengma-tool-2.1.2-.jar')

...module B:

compile "com.fengma.tool:grdle-tool:2.3.3"

... 編譯衝突,類重複

如何看待 Module 確認進入 C 20 標準?

maja 其最期待的還是基於future的方案和底層網路庫深度整合。因為croutine,如果要使用,需要很地方都是按非同步中斷去寫,比較期待,grpc cpp 等庫完全支援,並相容各種核心事件。樓上的熱巴也不懂幽默感,你看懂了又能怎麼樣,我們又不是同行。 和問題本身不相關,所以匿了 This an...

用 Android 的人看中了 Android 的什麼?

Juan Carlos 當初是因為看上了Sony z1三防還有它那個攝像頭開始了安卓之路,但是用了三年後因為續航以及國內的安卓生態還是放棄了,投奔了封閉但是用起來不用太花心思的iOS Android 的material design 確實很好看啊,但是我只是需要一台能用得省心的手機,不想在花心思來不...

android上有omni focus這個軟體了嗎,不會因為這個軟體而買iphone吧?有沒有好的替代軟體啊?

Android上並沒有omnifocus的軟體。因為軟體背後的開發商omni是專門針對蘋果公司的環境開發軟體的。不過,如果用omnifocus,只有手機版是很難用起來的,特別是透視的功能,還得搭配Mac版才可以。而且,這套軟體的費用也不便宜。如果你的目的是想有乙個順手的GTD工具,那麼 androi...