引入recyclerview-v7導致的v4包衝突解決
阿新 • • 發佈:2019-01-06
前言
在引入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' }