Java Android Studio和gradle错误意外的顶级异常

Java Android Studio和gradle错误意外的顶级异常,java,android,gradle,Java,Android,Gradle,我在Android Studio中的gradle项目有这个问题。当我玩的时候,我有这个错误,但是当我清理和重建的时候,它没有显示任何错误 运行时出错 AGPBI:{“种类”:“简单”,“文本”:“意外顶级异常:”,“位置”:{},“原始”:“意外顶级异常:”} AGPBI:{“种类”:“简单”,“文本”:“java.lang.IllegalArgumentException:方法ID不在[0,0xffff]:65536中”,“位置”:{},原始”:“java.lang.IllegalArgume

我在Android Studio中的gradle项目有这个问题。当我玩的时候,我有这个错误,但是当我清理和重建的时候,它没有显示任何错误

运行时出错

AGPBI:{“种类”:“简单”,“文本”:“意外顶级异常:”,“位置”:{},“原始”:“意外顶级异常:”}
AGPBI:{“种类”:“简单”,“文本”:“java.lang.IllegalArgumentException:方法ID不在[0,0xffff]:65536中”,“位置”:{},原始”:“java.lang.IllegalArgumentException:方法ID不在[0,0xffff]:65536中”}
AGPBI:{“kind”:“SIMPLE”,“text”:“\tat com.android.dx.merge.dexmmerge$6.updateIndex(dexmmerge.java:501)”,“position”:{},“original”:“\tat com.android.dx.merge.dexmmerge$6.updateIndex(dexmmerge.java:501)”
AGPBI:{“种类”:“简单”,“文本”:“\tat com.android.dx.merge.dexmmerge$idmerge.mergeSorted(dexmmerge.java:276)”,“位置”:{},“原始”:“\tat com.android.dx.merge.dexmmerge$idmerge.mergeSorted(dexmmerge.java:276)”)
AGPBI:{“种类”:“简单”,“文本”:“\tat com.android.dx.merge.dexmmerge.mergeMethodId(dexmmerge.java:490)”,“位置”:{},“原始”:“\tat com.android.dx.merge.dexmmerge.mergeMethodId(dexmmerge.java:490)”}
AGPBI:{“种类”:“简单”,“文本”:“\tat com.android.dx.merge.dexmmerge.mergeDexes(dexmmerge.java:167)”,“位置”:{},“原始”:“\tat com.android.dx.merge.dexmmerge.mergeDexes(dexmmerge.java:167)”}
AGPBI:{“种类”:“简单”,“文本”:“\tat com.android.dx.merge.dexmmerge.merge(dexmmerge.java:188)”,“位置”:{},“原始”:“\tat com.android.dx.merge.dexmmerge.merge(dexmmerge.java:188)”}
AGPBI:{“种类”:“简单”,“文本”:“\tat com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439)”,“位置”:{},“原始”:“\tat com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439)”)
AGPBI:{“kind”:“SIMPLE”,“text”:“\tat com.android.dx.command.dexer.Main.runMonoDex(Main.java:287)”,“position”:{},“original”:“\tat com.android.dx.command.dexer.Main.runMonoDex(Main.java:287)”
AGPBI:{“种类”:“简单”,“文本”:“\tat com.android.dx.command.dexer.Main.run(Main.java:230)”,“位置”:{},“原始”:“\tat com.android.dx.command.dexer.Main.run(Main.java:230)”
AGPBI:{“种类”:“简单”,“文本”:“\tat com.android.dx.command.dexer.Main.Main(Main.java:199)”,“位置”:{},“原始”:“\tat com.android.dx.command.dexer.Main.Main(Main.java:199)”}
AGPBI:{“kind”:“SIMPLE”,“text”:“\tat com.android.dx.command.Main.Main(Main.java:103)”,“position”:{},“original”:“\tat com.android.dx.command.Main.Main(Main.java:103)”
这是我的gradle文件配置。我认为错误就在这里

buildscript {
    repositories {
        mavenCentral()
        //maven { url 'http://dt-imac-ba-032:8082/nexus/content/repositories/legacy/' }
        flatDir { dirs 'libs' }
        maven {
            url "https://mint.splunk.com/gradle/"
        }
    }

}

allprojects {
    repositories {
        mavenCentral()
        //maven { url 'http://dt-imac-ba-032:8082/nexus/content/repositories/legacy/' }
        flatDir { dirs 'libs' }
        maven {
            url "https://mint.splunk.com/gradle/"
        }
        maven { url 'http://clinker.47deg.com/nexus/content/groups/public' }
    }
}

apply plugin: 'com.android.application'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')

    compile project(':qRCodeReaderViewlib')
    compile ('com.fortysevendeg.swipelistview:swipelistview:1.0-SNAPSHOT@aar') {
        transitive = true
    }
    compile 'com.rengwuxian.materialedittext:library:2.1.4'


    compile 'com.google.android.gms:play-services:7.5.0'

    compile 'com.android.support:cardview-v7:21.0.3'

}

android {
    compileSdkVersion 21
    buildToolsVersion "19.1.0"
    compileOptions.encoding = 'windows-1251'
    lintOptions {
        abortOnError false
    }
    signingConfigs {
        // debug {
        //    storeFile file("../keystore/sam.keystore")
        //}
    }
    buildTypes {
        release {
            minifyEnabled false
                //proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
    packagingOptions {
        exclude 'META-INF/DEPENDENCIES.txt'
            exclude 'META-INF/DEPENDENCIES'
            exclude 'META-INF/dependencies.txt'
            exclude 'META-INF/LICENSE.txt'
            exclude 'META-INF/LICENSE'
            exclude 'META-INF/license.txt'
            exclude 'META-INF/LGPL2.1'
            exclude 'META-INF/NOTICE.txt'
            exclude 'META-INF/NOTICE'
            exclude 'META-INF/notice.txt'
            exclude 'META-INF/INDEX.LIST'
    }
    defaultConfig {
        targetSdkVersion 21
    }

}
在qRCodeReaderViewlib中

apply plugin: 'com.android.library'

android {
    compileSdkVersion 17
    buildToolsVersion "20.0.0"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 17
    }

    buildTypes {
        release {
            minifyEnabled false
            //proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile files('libs/core.jar')
}

错误在哪里

据我所知,在多次使用某些库时会发生此错误
在这种情况下,可能在“qRCodeReaderViewlib”中,您的一些应用程序库(如supportlibrary)在之前已经添加了

如果您要进行任何更改,则需要在应用程序级别build.gradle中执行,而不是在顶级根级别build.gradle中。例如,如果要添加任何支持库,请将其添加到应用程序中的build.gradle中,而不是顶级根目录中的build.gradle中。

请参阅:


为什么
flatDir{dirs'libs}
在您的
buildscript
中?删除所有
flatdir
。尽量不要用罐子。另外,请升级您的Android SDK和其他插件,您应该以API 22为目标,使用API 22编译,并且您的构建工具应该是22.0.1。我做了这些更改,但我得到了相同的错误。我强烈建议尝试避免使用multidex@exequielc您的项目看起来并没有那么多依赖项。我知道,但这是我的项目运行的唯一方式。请投票并接受答案,如果为您工作的话
android {
    compileSdkVersion 21
    buildToolsVersion "21.1.0"

    defaultConfig {
        ...
        minSdkVersion 14
        targetSdkVersion 21
        ...

        // Enabling multidex support.
        multiDexEnabled true
    }
    ...
}

dependencies {
  compile 'com.android.support:multidex:1.0.0'
}