AndroidStudio中依賴同一個jar解決方法

工作中可能會遇到這樣的情況,例如,你的APP和某一個Module之間重複依賴了某個jar,或者是Module之間重複依賴了某個jar,這個是時候我們該怎麼解決呢?
方法一:通過在build.gradle配置共同依賴某個jar
1.在自己的APP的build.gradle中引入
compile files(‘libs/.jar’)
2.在Module的build.gradle中引入
provided files('libs/
.jar’),同時確保這個Module中不在有compile files('libs/
.jar’)
方法二:通過設置共同依賴某個jar
1.鼠標定位到你的項目
2.點擊菜單欄中的View,找到Open Module Setting
3.在Project Structure中找到Modules,選中你要修改的Module
4.單擊Dependencies ,將Scope修改爲provide ,點擊OK即可。
方法三:另外一種寫法而已
在你需要改變的module中添加如下引用
provided fileTree(include: [’
.jar’], dir: ‘libs’)

最後,來講一下AndroidStudio中的Scope的幾種方式
compile:
compile是對所有的build type以及favlors都會參與編譯並且打包到最終的apk文件中。
Provided:
Provided是對所有的build type以及favlors只在編譯時使用,類似eclipse中的external-libs,只參與編譯,不打包到最終apk。
APK:
只會打包到apk文件中,而不參與編譯,所以不能再代碼中直接調用jar中的類或方法,否則在編譯時會報錯
Test compile :
Test compile 僅僅是針對單元測試代碼的編譯編譯以及最終打包測試apk時有效,而對正常的debug或者release apk包不起作用。
Debug compile:
Debug compile 僅僅針對debug模式的編譯和最終的debug apk打包
Release compile:
Release compile 僅僅針對Release 模式的編譯和最終的Release apk打包。
我們需要用的是Provided,這樣在寫代碼的時候可以在Module中正常使用jar中的類,但是要有一個Module以compile的方式依賴這個jar,這樣編譯的時候只有一個jar編譯進apk。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章