1. 程式人生 > >引入recyclerview-v7導致的v4包衝突解決

引入recyclerview-v7導致的v4包衝突解決

前言

在引入rectclerview-v7:24.2.0包的時候發生了v4包衝突。

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

解決:

找到編譯出來的檔案,有2個v4包,分別是21.0.3和24.2.0。


再到各個module和lib目錄下尋到v4包,都沒有引用。

這種情況下最後的解決方法:

手動加一條V4包的引用,版本和recyclerview-v7保持一致。

compile 'com.android.support:recyclerview-v7:24.2.0'
    compile "com.android.support:support-v4:24.2.0"

如果找到了其它v4包引用,也保持一致。

/-----------------------------分割線-----------------------------------------------------------

補充一點,引入第三方庫導致的V4包衝突解決。

以bugtags1.2.5為例,bugtags內部集成了版本位19.0.0的v4包。

可以用以下方法排除

compile ('com.bugtags.library:bugtags-lib:1.2.5'){
    exclude group: 'com.android.support', module: 'support-v4'
}