1. 程式人生 > >AndroidStudio的transformDexArchiveWithExternalLibsDexMergerForDebug報錯解決方案

AndroidStudio的transformDexArchiveWithExternalLibsDexMergerForDebug報錯解決方案

錯誤排查記錄。

今天在gradle更新了一個引入包的版本號,然後引發了下面的血案。 

報錯資訊:

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'. 

 根據報錯資訊的提示,我們可以判斷出是應該是引入了兩個衝突的同樣的內容,即這裡的TensorFlowInferenceInterface,我們搜尋這裡這個類,看看是哪裡在用。

搜尋後,我們發現有兩個地方在用,一個是org.tensorflow.** 另一個是 com.taobao.**

一般情況下,我們去gradle裡找到然後排除其中一個即可,但是如果找不到的話,我們可以通過gradle的命令看到包的依賴關係。 

下載 gradle(如果沒有的話,去這裡:https://gradle.org/next-steps/?version=4.10.2&format=bin)

執行

gradle app:dependencies

 需要在工程的根目錄下:

可以在結果中找到:

 可以看到com.taobao.android.alinn**這個是因為我引入了**.alinnkit 這個包導致的。也就是我更新版本後的包,所以我這裡將 

'com.taobao.android', module:'alinntfsupport' 排除掉,寫法如下: 
dependencies {
    compile('com.taobao.android:alinnkit:2.0.0.24-android-SNAPSHOT'){
        exclude group:'com.taobao.android', module:'alinntfsupport'
    }
    compile('org.tensorflow:tensorflow-android:[email protected]')
}

 寫完後,構建,通過~