Несколько файлов dex определяют Landroid/поддержка/v4/ в Android studio

я могу integrate (add & work) with many libraries.

а ActionBarSherlock библиотека, у меня так много проблем с ней.

Первый Вопрос популярный вопрос Multiple dex files define,

я знаю duplicated android-support-v4.jar вызывает его, но я не могу решить эту проблему сейчас:

Error:Execution failed for task ':fitness:dexDebug'.

Error Code:
2
Output:
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl;
    at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594)
    at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:552)
    at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:533)
    at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170)
    at com.android.dx.merge.DexMerger.merge(DexMerger.java:188)
    at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439)
    at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287)
    at com.android.dx.command.dexer.Main.run(Main.java:230)
    at com.android.dx.command.dexer.Main.main(Main.java:199)
    at com.android.dx.command.Main.main(Main.java:103)

я последовал за ответ ошибка. Он использовал:

dependencies {
    compile('...') {
      exclude module: 'support-v4'
    }

    compile 'com.android.support:support-v4:18.0.+'
}

но я получил Второй Вопрос : unsupported Gradle DSL method found: 'exclude()'! ошибка. Поэтому я изменился build.gradle из main module такой:

//configurations {
//    all*.exclude group: 'com.android.support', module: 'support-v4'
//}

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile project(':google-play-services')
    compile files('/google-play-services/libs/google-play-services.jar')
    compile (project(':actionbarsherlock')) {
        exclude(module: 'support-v4')
    }
    compile 'com.android.support:support-v4:18.0.+'
}

Solved Второй Вопрос но все равно Первый Вопрос Multiple dex files define ошибка.

я прочитал много тем, но не могу решить Первый Вопрос теперь

пожалуйста, помогите мне,

спасибо,

p / s : Я могу синхронизировать с Gradle успешно, но при запуске он становится выше ошибок.

я использовал Android studio 0.5.5

редактировать

build.gradle of ActionBarSherlock, он имеет только один android-support-v4.jar:

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

setting.gradle такой :

include ':fitness', ':google-play-services',':actionbarsherlock'

@Garbriele: я обновил новый вопрос, показать build.gradle of project и build.gradle of main module build.gradle of project:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.9.+'
    }
}

build.gradle of main module после того, как отредактировал :

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar' // Get following error in this line
} 

я получил эту ошибку ниже :

enter image description here

Хорошо, спасибо за @Garbriele комментарий, я уже исправил это, используя это:

repositories {
            mavenCentral()
        }
dependencies {
        compile fileTree(dir: 'libs', include: '*.jar')
        compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar' // Get following error in this line
    } 

правка 2 когда я так ставлю:

repositories {
            mavenCentral()
        }
dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile 'com.google.android.gms:play-services:+'
}

все еще get Первый Вопрос Multiple dex files define ошибка.

теперь я хочу, как добавить com.google.android.gms:play-services библиотеки через Maven успешно

пожалуйста, помогите мне,

спасибо,

обновление

после выполните следующие действия :

  • поместите библиотеку через Maven в build.gradle основных модуля : compile 'com.google.android.gms:play-services:+'

  • Restart Android Studio

  • Sync project with gradle

больше не получить эту ошибку снова.

2 ответов


так странно,

когда я настраиваю свои зависимости следующим образом:

repositories {
            mavenCentral()
        }
dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile 'com.google.android.gms:play-services:+'
}

Я все еще получаю Первый Вопрос Multiple dex files define ошибка.

но после выполнения этих шагов:

  • поместите библиотеку через Gradle в build.gradle основных модуля : compile 'com.google.android.gms:play-services:+'

  • Restart Android Studio

  • Sync project with gradle

Я больше не получаю эту ошибку.


У меня были дубликаты библиотек в моем каталоге libs:

$ ls -la libs/
total 80
drwxr-xr-x   5  wheel    170 25 Sep 22:09 .
drwxr-xr-x  10  wheel    340 25 Sep 22:07 ..
-rw-r--r--   1  wheel   3736 25 Sep 21:36 ApiComponent.jar
-rw-r--r--   1  wheel  28741 25 Sep 21:36 DependencyService.jar
-rw-r--r--   1  wheel   3736 25 Sep 22:09 classes.jar

удаления классов.Джар работал на меня. Я изменил свой проект DependencyService для создания DependencyService.jar вместо занятий.jar вызывает дублирование.