【发布时间】:2017-03-23 21:52:12
【问题描述】:
错误:任务 ':app:transformClassesWithDexForStagingDebug' 执行失败。
com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexException: 多个dex文件定义Landroid/support /v4/content/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 问题简直让我抓狂。
【问题讨论】:
-
在您的依赖输出中,搜索“support-v4”。我可以看到多个模块具有不同版本的 support-v4。从所有其他模块中排除并仅包含最新的模块。
-
执行
./gradlew :app:dependencies,搜索重复的依赖导入并排除。 -
@Nizam 你到底在说哪一个?
标签: android gradle android-support-library