【IDE環境】support支持庫,v4 v7 v13的理解

一、v7包含多個依賴包,但是和v4不同的是,v7下的多個子包是以獨立庫的形式發佈的,有着特定的功能,每一個都可以單獨的被引用。它們分別是v7-appcompat、v7-cardview、v7-gridlayout、v7-mediarouter、v7-palette、v7-recyclerview、v7-Preference-Support。

二、項目中直接引入v7-appcompat(默認引入), gradle會自動加入所有v4包的依賴,並且是和v7相同的版本,因此不用再引入v4。

三、v7版本可以和compileVersion不一致,只是官方建議保持一致。

四、項目中同時存在不同版本的v7包,如果是以maven的方式引入,gradle會自動選擇版本較高的。但是如果有本地lib引入的話,運行時還是會報dex文件衝突。

五、異常衝突解決

1. 首先查看當前項目各種庫的依賴情況。

2. 找到裏面版本衝突的依賴庫,然後查找app項目,開源庫的lib目錄,刪除對應的jar包改用maven形式引入。

3. 如果你的app必須要使用本地lib引入v4庫,那麼就排除開源庫的v4包

compile('com.facebook.fresco:fresco:0.10.0') {
       exclude module: 'support-v4'
}

如果是源碼形式引入的開源庫

compile (project(':thirdpart:RecyclerViewAdapterLibrary')){ 
     exclude group: 'com.android.support' 
}

六、v13包是開發平板用的

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