1. 程式人生 > >Android studio v4 v7 包衝突 解決方案

Android studio v4 v7 包衝突 解決方案

     我們在使用第三庫的時間有時會有 v4 包,但我們大部分時專案預設用的是v7包,哪麼這時間就會有衝突了,怎麼辦,一般的方法直接刪除v4包,統一用v7包;

具體做法有以下二種:

 第一種方案

由於第三方包中的v4 jar一般比較舊,將v4包從libs目錄下刪除,重新新增線上的依賴庫v4包,在build.gradle中新增依賴:

    compile 'com.android.support:support-v4:24.2.0'
注意此時的v4包的版本號要和你主工程module的v7包的版本要一致,(一般情況下相同版本的依賴包不會衝突),然後重新build工程就可以了;

例:出現下面錯誤

Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
  com.Android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException:

翻譯過來就是Jar包衝突,然後看了一下,第三方庫中的libs下,依賴了一個v4的jar包,而主工程中又依賴了一個v7的庫而導致的衝突;

將v4包從libs目錄下刪除,重新新增線上的依賴庫v4包,就可以了;

第二種方案:

不用刪除第三方庫中的V4包,直接在主工程Module的build.gradle檔案中新增如下:

        compile('com.android.support:appcompat-v7:23.3.0') {
            exclude module: 'support-v4'
        }

預設情況下v7中是包含V4包的,exclude  的意思就是從v7包中去除v4包這樣就可以解決衝突