磚垛之dataBinding

集成:在app目錄下的build.gradle文件裏的Android節點裏添加

dataBinding {
        enabled = true
    }

即可,

注意,有時候再sync同步後會報錯

Error:Error converting bytecode to dex:
Cause: com.android.dex.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat;

原因:在當前使用as的時候很少去主動依賴v4包了,一般都是用v7,個人理解,其實在v7包裏,內置了一個v4,這v4的版本應該是與當前的v7不一樣,當我們繼承dataBingding的時候,它會自動集成一個與當前as的target api版本一致的v4包,這個時候大概率的就會出現v4包衝突了,除非v7裏的v4包版本大於等於target api版本(個人理解),

解決:

1、刪一個v4包。這個方法不大好,首先,databingding的v4我們沒法刪,其次,v7或者主動依賴的v4包,調用的地方不一定,貿然降版本,出問題的概率太大,

2、主動添加更高版本的v4包依賴,覆蓋掉低版本,一般是與v7的版本號相同,再加個雙保險,

compile fileTree(include:['*.jar'], exclude:['android-support-v4.jar'], dir:'src/main/lib')

應該就沒問題了

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