错误:
Gradle: Execution failed for task ':vertretungsplan:dexDebug'.
> Failed to run command:
P:\Android-Studio\sdk\build-tools\18.0.1\dx.bat --dex --output P:\Projekte\VertretungsplanProject\vertretungsplan\build\libs\vertretungsplan-debug.dex P:\Projekte\VertretungsplanProject\vertretungsplan\build\classes\debug P:\Projekte\VertretungsplanProject\vertretungsplan\build\dependency-cache\debug P:\Android-Studio\sdk\extras\android\m2repository\com\android\support\support-v4\18.0.0\support-v4-18.0.0.jar P:\Projekte\VertretungsplanProject\vertretungsplan\libs\commons-io-2.4.jar P:\Projekte\VertretungsplanProject\vertretungsplan\build\exploded-bundles\VertretungsplanProjectLibrariesActionbarsherlockUnspecified.aar\classes.jar
Error Code:
2
Output:
trouble processing:
bad class file magic (cafebabe) or version (0033.0000)
...while parsing de/MayerhoferSimon/Vertretungsplan/LoginActivity$2.class
...while processing de/MayerhoferSimon/Vertretungsplan/LoginActivity$2.class
trouble processing:
bad class file magic (cafebabe) or version (0033.0000)
...while parsing de/MayerhoferSimon/Vertretungsplan/MainActivity$1.class
...while processing de/MayerhoferSimon/Vertretungsplan/MainActivity$1.class
trouble processing:
bad class file magic (cafebabe) or version (0033.0000)
...while parsing de/MayerhoferSimon/Vertretungsplan/YQL/YqlVplanParser.class
...while processing de/MayerhoferSimon/Vertretungsplan/YQL/YqlVplanParser.class
3 warnings
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dx.util.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl;
at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:592)
at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:550)
at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:531)
at com.android.dx.merge.DexMerger.mergeDexBuffers(DexMerger.java:168)
at com.android.dx.merge.DexMerger.merge(DexMerger.java:186)
at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:300)
at com.android.dx.command.dexer.Main.run(Main.java:232)
at com.android.dx.command.dexer.Main.main(Main.java:174)
at com.android.dx.command.Main.main(Main.java:91)
项目结构:
build.gradle(actionbarsherlock)
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.+'
}
}
apply plugin: 'android-library'
dependencies {
compile 'com.android.support:support-v4:18.0.0'
}
android {
compileSdkVersion 18
buildToolsVersion "18.0.1"
defaultConfig {
minSdkVersion 8
targetSdkVersion 11
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
res.srcDirs = ['res']
}
}
}
build.gradle(vertretungsplan)
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.+'
}
}
apply plugin: 'android'
dependencies {
compile files('libs/commons-io-2.4.jar')
compile project(':libraries:actionbarsherlock')
}
android {
compileSdkVersion 18
buildToolsVersion "18.0.1"
defaultConfig {
minSdkVersion 8
targetSdkVersion 11
}
}
settings.gradle
include ':vertretungsplan', ':libraries:actionbarsherlock'
如何解决此错误?
答案 0 :(得分:89)
正确的答案是,你的一些jar文件无法编译。 您应该进入项目中的build.gradle文件,并查看依赖项。
如果您只是导入一些jar文件,可以尝试删除它们并一次添加一个。这将帮助您确定哪一个导致错误。
在我的情况下,我做到了这一点,当我导入最后一个时,应用程序编译完成。所以我认为真正的问题是我一次导入的太多了。但现在一切正常。
答案 1 :(得分:68)
在没有值得注意的变化之后,我突然遇到了同样的问题。
我通过删除app/build
目录解决了这个问题,并让gradle将整个项目构建为新的。
答案 2 :(得分:16)
您必须检查是否再次导入相同的JAR。在我的情况下,罐子里面有一个类,它被导入另一个罐子里。所以只需检查整个项目中是否包含两次lib / class文件!
答案 3 :(得分:4)
问题不在于Execution failed for task ':dexDebug'
如果你看上面的错误显示为红色,你会看到这个
要永久解决此问题,只需在build.gradle
文件中添加这些行
android {
dexOptions {
jumboMode = true
}
}
有关详细信息,请查看以下问题:here
答案 4 :(得分:4)
我也有同样的问题。 在我的情况下,重启后问题就开始了。 我关闭了我的应用程序,然后关闭了Android Studio(在我的情况下为V1.1.0),最后关闭了。之后,我修改了一个java文件来添加一个RadioGroup对象,然后出现问题。
我解决了我的问题,只改变了一个简单的' 0'对于一个' 1'在我的Gradle配置文件中,因为问题的根本原因是在Gradle执行过程中生成的。以前我曾经有版本' 1.0.0'然后我将其改为' 1.1.0',如图所示。
Gradle配置的位置已更改
我从中获取正确版本的位置(文件 - >设置 - > Gradle - >实验
答案 5 :(得分:4)
当我尝试使用Java JRE 1.8在eclipse中编译一个utils库jar时,我遇到了同样的错误,并在我的/ libs /在Android Studio 1.1.0中使用它。
我的Android Studio设置为使用JDK1.8.0。
我将Eclipse切换为使用JRE 1.7,错误已修复。 Eclipse:Window-> Preferences-> Java tab-> Compiler - >合规等级1.7。它很可能会提示您将JRE系统库切换到jdk1.7.x_x。
您可能需要确保取消选中'压缩jar'当你导出。我还没有测试它是否有效果。我怀疑它是否相关。
答案 6 :(得分:3)
确保您的AndroidManifest文件在清单节点中包含包名称。 设置包名称为我解决了这个问题。
答案 7 :(得分:3)
ANDROID STUDIO用户试试这个: -
您需要将以下内容添加到gradle文件依赖项中:
compile 'com.android.support:multidex:1.0.0'
然后在清单的application
标记中添加以下行(multidex支持应用程序):
android:name="android.support.multidex.MultiDexApplication"
答案 8 :(得分:2)
可以通过添加
来解决此问题compile 'com.android.support:support-v4:18.0.0'
到vertretungsplan build.gradle中的依赖项,编译然后删除这一行并再次编译。
现在可行了
答案 9 :(得分:1)
我有同样的问题,你应该这样做:
File -> Invalidate Caches / Restart
答案 10 :(得分:1)
我遇到了这个问题,因为我尝试使用支持库和appcompat:
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile 'com.android.support:support-v4:23.1.0'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.google.android.gms:play-services:8.3.0'
}
删除支持库并更改为旧版本后,编译:
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
/*compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'*/
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.android.support:design:22.2.0'
compile 'com.google.android.gms:play-services:8.3.0'
}
答案 11 :(得分:1)
我有两个不兼容的依赖项。
以下依赖项导致错误。
compile 'com.google.android.gms:play-services-fitness:8.3.0'
compile 'com.google.android.gms:play-services-wearable:8.4.0'
通过将健身依赖性更改为版本8.4.0,我能够运行该应用程序。
compile 'com.google.android.gms:play-services-fitness:8.4.0'
compile 'com.google.android.gms:play-services-wearable:8.4.0'
答案 12 :(得分:0)
(这可能是错误的主题,因为您的问题似乎更具体,但它是我在搜索问题的关键字时找到的主题)
尽管提供了很好的提示,但唯一能帮助我的事情,以及我想分享以防万一,如果其他一切都不起作用:
删除主目录中的 .gradle 目录,并让Android Studio为您重新构建/重新下载。
通过重新安装Android Studio本身和SDK,修复了我无法修复的各种奇怪错误。
答案 13 :(得分:0)
我发现了Android Studio和mircrosoft升级到Web浏览器的一个非常有趣的问题。我升级了#34;愚蠢的#34;到最新版本的ie。当然,微软以其无限的智慧知道如何处理安全问题。当我尝试编译我的应用程序时,我一直收到错误Gradle - 构建失败 - 执行失败的任务。在堆栈中查看我发现它无法识别java.exe的路径。我发现这很奇怪,因为我只能在前一天编译。我将JAVA_HOME添加到系统的env vars中,关闭Android Studio并重新打开它。低,看,如果防火墙唠叨屏幕没有弹出询问我是否想要通过所有jave.exe。
什么是集群!
答案 14 :(得分:0)
从Eclipse IDE导入后,原因可能是重复的库。
dependencies {
compile 'com.github.japgolly.android:svg-android:2.0.5'
compile 'com.google.android.gms:play-services:+'
compile 'com.android.support:appcompat-v7:21.0.3'
compile files('libs/androidannotations-api-2.7.1.jar')
compile files('libs/androidasync-2.1.2.jar')
//compile files('libs/google-play-services.jar')
compile files('libs/universal-image-loader-1.8.2.jar')}
评论后我遇到了同样的问题:
//compile files('libs/google-play-services.jar')
该应用程序没有错误。
答案 15 :(得分:0)
我遇到了同样的问题。通过这样做解决了。 转到actionbarsherlock - >模块设置 - >依赖项。删除支持v4库。在左下角有一个加号按钮,从那里添加1个库依赖项(选择support-v4)。 一旦完成,就让gradle重新同步并清理项目。
答案 16 :(得分:0)
在我的情况下,我做了z = df.x.map(math.sin)
df['y']=[sum(z[:i]*15**np.arange(int(i)+1)[::-1]) for i,r in df.iterrows()]
In [258]: df
Out[258]:
x y
0 10 -0.544021
1 20 -7.247371
2 30 -109.698603
3 40 -1644.733929
并且它有效!
答案 17 :(得分:0)
这里的许多答案都是试错,以找到重复的依赖关系但是如果你从Execution failed for task ':app:dexDebug'.
行稍微向上滚动,它会给你一个重复的提示
在我的情况下,我遇到以下错误:
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define L/com/parse/AbstractQueryController$1;
...
...
...
Execution failed for task ':app:dexDebug'.
所以我知道为了解决这个问题,我需要找到定义parse.AbstractQueryController
的重复依赖项
在我的情况下,我有两个导入的模块加载到两个不同的Parse库中。使我的项目只加载一个修复我的问题。
答案 18 :(得分:0)
当我的一个类文件中的包拼写错误时,我也遇到了这个错误。其中许多答案会立即跳转到Jar文件,但我也会检查以确保您的包拼写正确。
答案 19 :(得分:0)
只需添加build.gradle
即可compile'com.parse.bolts:bolts-android:1。+'
编译'com.parse:parse-android:1.11.0'
答案 20 :(得分:0)
如果您还在使用Dagger
或Butterknife
,则应将guava添加为build.gradle
主文件的依赖项,如classpath:
com.google.guava:guava:20.0
另一方面,如果您在使用Gradle守护程序的较大堆时出现问题,则可以增加对radle
文件的添加:
dexOptions {
javaMaxHeapSize "4g"
}
答案 21 :(得分:-1)
使用内置菜单栏清理项目适用于Android Studio中的许多错误情况,因此在这种情况下也是如此。