java - 梯度错误:Execution failed for task ':app:dexDebug' .

标签 java android gradle android-appcompat build.gradle

请我尝试在我的设备上运行一个简单的登录和注册应用程序。 java 和 xml 文件都很好,但是当我运行它时,我收到这个 gradle 错误。 我遵循的教程不使用 gradle 系统。它已将其包含在 list 文件中:

<uses-sdk
        android:minSdkVersion="9"
        android:targetSdkVersion="21" />

这可能是原因吗?

梯度:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "com.example.stephen.logintest"
        minSdkVersion 11
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.1.1'
}

错误消息:

Information:Gradle tasks [:app:assembleDebug]
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:compileDebugNdk UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:prepareComAndroidSupportAppcompatV72211Library UP-TO-DATE
:app:prepareComAndroidSupportSupportV42211Library UP-TO-DATE
:app:prepareDebugDependencies
:app:compileDebugAidl UP-TO-DATE
:app:compileDebugRenderscript UP-TO-DATE
:app:generateDebugBuildConfig UP-TO-DATE
:app:generateDebugAssets UP-TO-DATE
:app:mergeDebugAssets UP-TO-DATE
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources UP-TO-DATE
:app:mergeDebugResources UP-TO-DATE
:app:processDebugManifest
:app:processDebugResources UP-TO-DATE
:app:generateDebugSources UP-TO-DATE
:app:compileDebugJava UP-TO-DATE
:app:preDexDebug
:app:dexDebug
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Landroid/support/annotation/AnimRes;
at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)
at com.android.dx.command.dexer.Main.run(Main.java:246)
at com.android.dx.command.dexer.Main.main(Main.java:215)
at com.android.dx.command.Main.main(Main.java:106)
Error:Execution failed for task ':app:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_75\bin\java.exe'' finished with non-zero exit value 2
Information:BUILD FAILED
Information:Total time: 30.608 secs
Information:1 error
Information:0 warnings
Information:See complete output in console

最佳答案

UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException:
Multiple dex files define Landroid/support/annotation/AnimRes;

当您使用不同版本的相同库时,会发生此类问题。

在您的情况下,请检查您的 libs 文件夹中是否有某个库正在使用 support-annotations 库。在您的依赖项中,您使用的是appcompat v21.1.1,它使用support-annotations v.21.1.1

此外,这对于这个问题并不重要。

您的 list 中不需要它。

<uses-sdk
        android:minSdkVersion="9"
        android:targetSdkVersion="21" />

这些值会被 gradle 覆盖,您在其中使用不同的值:

 defaultConfig {
        minSdkVersion 11
        targetSdkVersion 22
    }

关于java - 梯度错误:Execution failed for task ':app:dexDebug' .,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30877140/

相关文章:

maven - Gradle 和本地 Ivy 存储库未找到传递依赖项

java - 现有 PUBLIC 模式的 Flyway

java - 用 proguard 混淆文件名

android - onPause onResume 替代方案?

java - 在Java中执行while循环跳过用户输入

java - Tomcat 无法部署我的应用程序。它因以下错误而失败。

Android Studio AVD 导致 avd 崩溃,AS 无警告关闭

intellij-idea - 如何在 IntelliJ IDEA 中启用 "no-daemon"功能?

java - Android - 在前台动态获取当前 Activity

java - 如何将字符串转换为二维整数数组?