砖垛之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')

应该就没问题了

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