错误:任务':app:transformClassesWithDexForStagingDebug'的执行失败。
com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException:java.util.concurrent.ExecutionException:com.android.dex.DexException:多个dex文件定义Landroid /支持/ V4 /内容/ RES / TypedArrayUtils;
我在SO上看过类似的问题,例如:Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat。
但是,我有很多包含的库,所以我的依赖项输出很大,我无法弄清楚依赖是导致问题。我认为问题是com.google.firebase:firebase-messaging:10.0.1所以我添加了:
compile ('com.google.firebase:firebase-messaging:10.0.1'){
exclude module: 'support-v4'
}
但这并没有解决问题。
我在依赖输出中也看到了:
com.android.databinding:library:1.2.1
| +--- com.android.databinding:baseLibrary:2.2.0-dev -> 2.2.2
| \--- com.android.support:support-v4:21.0.3 -> 25.3.0 (*)
21.0.3 - > 25.3.0(*)是什么意思?这是否意味着我的数据库库使用21.0.3 OR 25.3.0?它是否必须更新,如果是这样的话?
也许有人可以查看我的依赖输出并指出我正确的方向。像这样的Android问题让我疯狂。
答案 0 :(得分:0)
这个问题现在有点儿了。这一切都是在我将com.android.support:support库更新为:-v4:25.3.0'时开始的。 我想我有办法解决这个问题:
然后我创建了一个新的Android项目(不添加任何额外的文件/类 - 这只是一个shell)
然后我将我的库定义从我的主项目的gradle文件(在依赖部分中)复制到新项目的gradle中。在我添加的每一个之后,我尝试运行新项目。
最终,您将在新的新项目中获得原始错误。对我来说是这个图书馆:
OLD:编译'com.android.support:recyclerview-v7 :+' 新:编译'com.android.support:recyclerview-v7:25.3.0'