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:1.6.0@aar')
}

 写完后,构建,通过~

posted @ 2018-11-09 00:50  胖喵~  Views(738)  Comments(0Edit  收藏  举报