Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Studio构建错误-多个dex文件定义Landroid/support/v4/_Android_Android Support Library - Fatal编程技术网

Android Studio构建错误-多个dex文件定义Landroid/support/v4/

Android Studio构建错误-多个dex文件定义Landroid/support/v4/,android,android-support-library,Android,Android Support Library,我无法在Android Studio中构建我的项目。我得到以下错误: Error:Android Dex: [RaditazAndroid] Unable to execute DX Error:Android Dex: [RaditazAndroid] com.android.dx.util.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceI

我无法在Android Studio中构建我的项目。我得到以下错误:

Error:Android Dex: [RaditazAndroid] Unable to execute DX
Error:Android Dex: [RaditazAndroid] com.android.dx.util.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl;
Error:Android Dex: [RaditazAndroid] at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:592)
Error:Android Dex: [RaditazAndroid] at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:550)
Error:Android Dex: [RaditazAndroid] at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:531)
Error:Android Dex: [RaditazAndroid] at com.android.dx.merge.DexMerger.mergeDexBuffers(DexMerger.java:168)
Error:Android Dex: [RaditazAndroid] at com.android.dx.merge.DexMerger.merge(DexMerger.java:186)
Error:Android Dex: [RaditazAndroid] at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:300)
Error:Android Dex: [RaditazAndroid] at com.android.dx.command.dexer.Main.run(Main.java:232)
Error:Android Dex: [RaditazAndroid] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Error:Android Dex: [RaditazAndroid] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
Error:Android Dex: [RaditazAndroid] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
Error:Android Dex: [RaditazAndroid] at java.lang.reflect.Method.invoke(Method.java:597)
Error:Android Dex: [RaditazAndroid] at org.jetbrains.android.compiler.tools.AndroidDxRunner.runDex(AndroidDxRunner.java:147)
Error:Android Dex: [RaditazAndroid] at org.jetbrains.android.compiler.tools.AndroidDxRunner.main(AndroidDxRunner.java:276)
Error:Android Dex: [RaditazAndroid] at com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:121)

然而,这个错误对我来说毫无意义。它没有提供我应该从哪里开始修复我的项目的线索。有人遇到过类似的事情吗?

对于有兴趣的人,我解决了自己的问题。我的错误是,我在我的项目的所有模块库文件夹(我的项目由3个模块组成)中粘贴了android-support-v4.jargoogle play services.jar。我要做的是只将这些JAR粘贴到主模块的lib文件夹中,其他模块将自动引用它们。

在我的情况下,问题出在模块sdk版本中。我将它从2.2改为4.4,问题就解决了。

我使用了一种不同的方法,将ABS res文件夹与我的res文件夹合并,并使用ActionBarSherlock.jar作为全局库

到目前为止效果很好,希望这对其他人有所帮助!但这是一个黑客,因为我厌倦了做很多事情,我不能使用Gradle,因为其他一些开发人员在没有Gradle的情况下使用EclipseADT


问题的根本原因是在ABS和我的项目中都使用了android-support-v4,这使DEX变得复杂。

在远离android Studio的地方,我在finder/workspace中打开了项目,并执行了以下操作:

1-MyProject文件夹->构建->中间->索引缓存->cache.xml,并删除所有support-v4.jar项目

2-也离开了Android Studio,访问了我的项目->lib文件夹->中的每个模块,并删除了support-v4.jar

然后清理了项目并运行了它,感谢上帝:)

我也犯了同样的错误

从project/app/libs文件夹中删除一个库(jtwitter.jar)对我很有帮助


然后清理了项目并运行了它,它成功了。

我也有同样的错误。通过添加到gradle文件解决了它

    dependencies{
        compile 'com.google.android.gms:play-services:8.3.0'
        compile 'com.android.support:appcompat-v7:23.1.0'
        compile 'com.android.support:support-v4:23.1.0'
    } 

清理和重建是我开始工作所需的一切。

如果其他人对通过提供的项目Tango示例有此问题,我通过在应用程序的
build.gradle
文件中为那些未能运行的项目注释以下行来解决此问题:

编译文件树(dir:external_lib_prefix+'/jar',包括:['**.jar'])
如果您有:

compile 'com.android.support:recyclerview-v7:24.2.0'
compile('com.android.support:appcompat-v7:23.2.0') { exclude group: 'com.google.android', module: 'support-v4' }
在项目中,还添加:

compile 'com.android.support:support-v4:24.2.0'


我在Android Studio 2.3中也遇到了同样的问题,在我的例子中,我的版本号混合在一起,导致构建失败,我改变了:

dependencies {
    compile 'com.google.android.gms:play-services-wearable:7.5.0'
    compile 'com.google.android.gms:play-services-analytics:7.5.0'
    compile 'com.google.android.gms:play-services-drive:8.4.0'
}


对于想知道为什么这个问题仍然存在的人,即使做了所有其他建议的事情,这可能会有所帮助

对于我来说,问题是在我添加Glide库时开始的

dependencies {
  .........
  implementation 'com.github.bumptech.glide:glide:4.8.0'
  .........
}
我已经加了一句

implementation 'com.android.support:design:26.1.0'
这和Glide支持库有些矛盾

解决方案:删除或降级您的Glide支持版本

 implementation 'com.github.bumptech.glide:glide:4.0.0'

这与我遇到的问题的原因不同。。。当我得到一个解决方案时,我会发布我的想法there@JMRboosties我的经验是,这个错误是由于lib文件夹中重复的jar文件造成的。你的情况不是这样吗?谢谢,解决了。有两个相同的sup库副本会导致错误,我想解决方案和注释的.ty为我节省了很多时间!这是可行的,但我必须做一个重建项目来消除错误。你是说minSdkVersion还是targetSdkVersion?我是说builder的sdk版本。请看:项目结构->模块->模块SDKSounds good。假设您可以在Eclipse中使用Gradle,尽管我从未尝试过。无论如何,我也处于类似的位置——我在Android Studio中使用Gradle——我的队友都没有。但我发现我仍然可以使用它而不会与其他人发生冲突。解决方案有效,我在使用okhttp-2.5.0.jar时遇到了问题。然后完成了项目建设的步骤。你花了三天的时间试图弄清楚到底发生了什么,结果救了我的命。看到谷歌工程师没有采取任何措施来减轻我们的痛苦,这简直令人恼火。
implementation 'com.android.support:design:26.1.0'
 implementation 'com.github.bumptech.glide:glide:4.0.0'