首页 文章

任务':app:dexDebug'的执行失败 . 不确定httpclient和httpmime之间可能存在依赖性问题

提问于
浏览
2

在Android Studio中,我收到以下错误: - 任务执行失败':app:dexDebug' .

:app:compileDebugJava UP-TO-DATE:app:preDexDebug:app:dexDebug UNEXPECTED TOP-LEVEL EXCEPTION:com.android.dex.DexException:多个dex文件定义Landroid / support / annotation / AnimRes;在com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)在com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)在com.android.dx.merge.DexMerger.mergeClassDefs (DexMerger.java:535)在com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)在com.android.dx.merge.DexMerger.merge(DexMerger.java:189)在com.android . dx.command.dexer.Main.mergeLibraryDexBuffers在com.android.dx.command.dexer.Main(Main.java:454)在com.android.dx.command.dexer.Main.runMonoDex(Main.java:303) . 在com.android.dx.command.Main.main(Main.java:106)的com.android.dx.command.dexer.Main.main(Main.java:215)上运行(Main.java:246)失败失败:构建因异常而失败 . 出了什么问题:任务':app:dexDebug'执行失败 . com.android.ide.common.internal.LoggedErrorException:无法运行命令:C:\ Users \ Priyatosh \ AppData \ Local \ Android \ sdk \ build-tools \ 21.1.2 \ dx.bat --dex --no- optimize --output C:\ Users \ Priyatosh \ Desktop \ Camerafileupload27 \ app \ build \ intermediates \ dex \ debug --input-list = C:\ Users \ Priyatosh \ Desktop \ Camerafileupload27 \ app \ build \ intermediates \ tmp \ dex \ debug \ inputList.txt错误代码:2输出:UNEXPECTED TOP-LEVEL EXCEPTION:com.android.dex.DexException:多个dex文件定义Landroid / support / annotation / AnimRes;在com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)在com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)在com.android.dx.merge.DexMerger.mergeClassDefs (DexMerger.java:535)在com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)在com.android.dx.merge.DexMerger.merge(DexMerger.java:189)在com.android . dx.command.dexer.Main.mergeLibraryDexBuffers在com.android.dx.command.dexer.Main(Main.java:454)在com.android.dx.command.dexer.Main.runMonoDex(Main.java:303) . 在com.android.dx.command.Main.main(Main.java:106)的com.android.dx.command.dexer.Main.main(Main.java:215)上运行(Main.java:246)尝试:使用--stacktrace选项运行以获取堆栈跟踪 . 使用--info或--debug选项运行以获取更多日志输出 . 建筑失败

我的build.gradle文件: -

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "info.androidhive.camerafileupload"
        minSdkVersion 15
        targetSdkVersion 21
        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:21.0.3'
    //compile files('libs/httpclient-4.3.6.jar')
    //compile files('libs/android-support-v4.jar')
    //compile files('libs/httpcore-4.3.3.jar')
    //compile files('libs/httpmime-4.3.6.jar')
    //compile "org.apache.httpcomponents:httpmime:4.3.6"

    }

Image

任何人都可以建议我如何解决它....?

1 回答

  • 5

    您的 build.gradle 包含 compile 'com.android.support:appcompat-v7:21.0.3' 此库取决于v4支持库 . 所以它将通过gradle添加 . 你的 libs 文件夹和行 compile fileTree(dir: 'libs', include: ['*.jar']) 也有 android-support-v4.jar ,结果AS将尝试使用相同库的2个实例构建它 .

    Sulution是从 libs 文件夹中删除 android-support-v4.jar 并重建项目 .

    Update:

    添加到 build.gradle 下一个块

    android{
    ....
    packagingOptions {
            exclude 'META-INF/DEPENDENCIES'
            exclude 'META-INF/NOTICE'
            exclude 'META-INF/LICENSE'
            exclude 'META-INF/LICENSE.txt'
            exclude 'META-INF/NOTICE.txt'
        }
    }
    

相关问题