1. 程式人生 > >Gradle資源衝突

Gradle資源衝突

使用android studio開發常見問題就是Multiple dex files define XXXXX。

之前eclipse使用ant編譯,ant使用的是包含的方式進行編譯,不同的模組有相同的資源也可以編譯通過。而Gradle則要更加嚴格,採用合併的方式進行編譯,所有的檔案、程式碼都會被Merge到一起,相同的資源名就會發生衝突。

常見解決方法:

1、使用@aar關鍵字關閉依賴傳遞
compile 'com.xxx.xxxxx:xxxxxx:[email protected]'
這種方式libs目錄下的jar檔案是不受影響的 2、使用exclude module排除一個庫中引用的其他庫
compile ('com.xxx.yyy:aaa:1.1.1'){
exclude module:'com.xxx.yyy.bbb:1.1.2'
exclude module:'com.xxx.yyy.ccc:1.1.2'
}