2015-01-03 19 views
1

Я получаю исключение высшего уровня в студии Android, я использую appcompat и скользящую библиотеку меню. Я знаю, что получаю исключение из-за конфликта библиотек поддержки Android, как объяснялось в некоторых из предыдущих потоков в stackoverflow. Я перепробовал все методы, показанные в потоках, как в том числе и т.д. настройке программыException верхнего уровня - Android-студия

вот мой build.gradle (корень)

// 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' 

     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
    } 
    configurations { 
     // to avoid double inclusion of support libraries 
     all*.exclude group: 'com.android.support', module: 'support-v4' 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

Вот мой build.gradle (App)

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 21 
    buildToolsVersion '21.1.1' 

    defaultConfig { 
     applicationId "com.danaraddi.cprograms" 
     minSdkVersion 8 
     targetSdkVersion 21 
     versionCode 9 
     versionName "7.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
    dexOptions { 
     incremental true 
    } 
    compileOptions { 
     sourceCompatibility JavaVersion.VERSION_1_7 
     targetCompatibility JavaVersion.VERSION_1_7 
    } 
} 

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

// animations 
dependencies { 
    compile 'com.nineoldandroids:library:2.4.0' 
    compile 'com.daimajia.easing:library:[email protected]' 
    compile 'com.daimajia.androidanimations:library:[email protected]' 
} 

// inject views 
dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.jakewharton:butterknife:5.1.2' 
} 

dependencies { 
    // Your other dependencies go here 
    compile project(':library') 
} 

Вот мой build.gradle (Lib - SlidingMenu)

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:1.0.0' 
    } 
} 
apply plugin: 'android-library' 

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

android { 
    compileSdkVersion 21 
    buildToolsVersion '21.1.1' 

    defaultConfig { 
     minSdkVersion 7 
     targetSdkVersion 16 
    } 

    sourceSets { 
     main { 
      java.srcDirs = ['src'] 
      resources.srcDirs = ['src'] 
      aidl.srcDirs = ['src'] 
      renderscript.srcDirs = ['src'] 
      res.srcDirs = ['res'] 
      assets.srcDirs = ['assets'] 

      manifest.srcFile 'AndroidManifest.xml' 
     } 
    } 

} 

Вот мой Вход Cat

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

Output: 
    UNEXPECTED TOP-LEVEL EXCEPTION: 
    com.android.dex.DexException: Multiple dex files define Landroid/support/v7/app/ActionBar$Callback; 
     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:302) 
     at com.android.dx.command.dexer.Main.run(Main.java:245) 
     at com.android.dx.command.dexer.Main.main(Main.java:214) 
     at com.android.dx.command.Main.main(Main.java:106) 

PS: У меня есть конфигурации мест в корне, приложение build.gradle тоже успешно строит после чистого проекта, а затем после того, как та же ошибка.

ответ

2

Добавить

dexOptions { 
    preDexLibraries = false 
} 

вместо

dexOptions { 
     incremental true 
    } 

для build.gradle файла внутри андроида блока

+0

я должен удалить конфигурации { // чтобы избежать двойного включения поддержки библиотек все * .exclude group: 'com.android.support', модуль: 'support-v4' } –

+0

Я удалил это и работает отлично :) Большое спасибо –

+0

yup, remove or comment it – BzH

Смежные вопросы