پیغام خطای Multiple dex files define در اندروید استودیو

0 رأی
میانگین بازدید روزانه 0.18362 بازدید

سلام من در حال انجام پروژه ای هستم که از چند تا لایبریر استفاده می کنم
موقع کامپایل کردن با این ارور مواجه شدم

 

Error:Execution failed for task ':newtest:dexDebug'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
    C:\Users\HM\AppData\Local\Android\sdk\build-tools\21.1.2\dx.bat --dex --no-optimize --output C:\Users\HM\AndroidStudioProjects\newtest\newtest\build\intermediates\dex\debug​ --input-list=C:\Users\HM\AndroidStudioProjects\newtest\newtest\build\intermediates\tmp\d​ex\debug\inputList.txt
Error Code:
    2
Output:
    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)

تا جایی که توی سایت استک اورفلو جستجو کردم فهمیدم مشکل از استفاده مکرر از یک کتابخانه jar هستش اما نتونستم مشکلو حل کنم
ممنون میشم راهنماییم کنید

نکته: پروژه این مشکلو در اکلیپس داشت که حل شد اما بعد از امپورت کردن به اندروید استدیو باز پیش اومده.

 

newtest-newtest

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "com.newtest"
        minSdkVersion 15
        targetSdkVersion 19
    }

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

dependencies {
    compile project(':androidBootstrap')
    compile project(':materialDesign')
    compile project(':maincorestagedcard')
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
    compile files('libs/androidsvg-1.2.0.jar')
    compile files('libs/crittercism_v3_0_3_sdkonly.jar')
    compile files('libs/nineoldandroids-2.4.0.jar')
    compile files('libs/universal-image-loader-1.9.0.jar')

}

metirialdesign

apply plugin: 'com.android.library'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 8
    }

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

dependencies {
    compile files('libs/nineoldandroids-2.4.0.jar')
}

maincorestagedcard

apply plugin: 'com.android.library'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 21
    }

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

dependencies {
    compile files('libs/dexmaker-1.1.jar')
    compile files('libs/dexmaker-mockito-1.1-custom.jar')
    compile files('libs/nineoldandroids-2.4.0.jar')
    compile 'com.android.support:support-v4:21.0.3'
    compile 'com.android.support:support-annotations:+'
    compile files('libs/otto-1.3.5.jar')
}

androidbootstrap

apply plugin: 'com.android.library'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 21
    }

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

dependencies {
    compile 'com.android.support:support-v4:21.0.3'
}

newtest

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.0.0'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

 

اسم کل پروژه newtest-newtest که newtest اصل پروژه و مابقی کتبخانه هستن.project view

سوال 5 سال قبل در تالار برنامه نویسی توسط alireza4546 (0 امتیاز)
ویرایش 5 سال قبل توسط alireza4546

1 جواب

0 رأی

این خطا زمانی پیش میاد که شما یک library را بیشتر از یکبار در فایل های build.gradle خود بعنوان dependency استفاده کرده باشید. من دو راه پیشنهاد می دهم که چک کنید:

  1. یک library هم در فولدر lib قرار داشته باشد و هم در قسمت dependencies در build.gradle در قسمت “app” (این اتفاق در زمان import پروژه از eclipse ممکن است اتفاق بیوفتد) در این حالت باید یکی را حذف کنید.
  2. پروژه های اندروید استودیو دارای دو فایل build.gradle هستند (یکی در فولدر root پروژه و دیگری در قسمت “app” ) شاید یک library در قسمت dependencies هر جفت این فایل ها تعریف شده باشد که باید یکی را حذف کنید.
جواب 5 سال قبل توسط Saeed Zarinfam (737 امتیاز)
بله ذرسته اما اگر حذف کنم توی کدها ارور میده
از annotation ایراد گرفته که فقط یک بار استفاده شده اما support v4 جندبار که کاری به اون نداره . من کار با گردیل تازه کارم ممنون میشم منو از سردر گمی در بیاری . جای هم خوندم که میشه با تابع exclude کتابخونه هارو مدیریت کرد که گریدل من اصلا نمیشناسه تابعو. بازم ممنوم از وقتتون
gradle کل پروژه اضافه کردم

سوال های مشابه

0 رأی
1 جواب میانگین بازدید روزانه 1.071,881 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.08167 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.5158 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.242 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 0.3136 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.22259 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 1.652,870 بازدید
+2 رأی
2 جواب میانگین بازدید روزانه 0.3577 بازدید
کانال تلگرام جواب یاب
...