1

У меня возникли проблемы при добавлении строки для API календаря Google до build.gradle. Вот ошибка:Проблема MultiDex - Выполнение не выполнено для задачи ': app: dexDebug'

UNEXPECTED TOP-LEVEL EXCEPTION: 
com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]:65536 
    at com.android.dx.merge.DexMerger$6.updateIndex(DexMerger.java:502) 
at com.android.dx.merge.DexMerger$IdMerger.mergeSorted(DexMerger.java:277) 
at com.android.dx.merge.DexMerger.mergeMethodIds(DexMerger.java:491) 
at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:168) 
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) 
Error:Execution failed for task ':app:dexDebug'. 
> com.android.ide.common.process.ProcessException: 
org.gradle.process.internal.ExecException: Process 'command 
'/usr/java/jdk1.7.0_79/bin/java'' 

finished with non-zero exit value 2 
Information:BUILD FAILED 
Information:Total time: 14.802 secs 
Information:1 error 
Information:2 warnings 
Information:See complete output in console 

Я пробовал много вариантов, но ничего не работает. Когда я добавляю "multiDex true" к defaultConfig, AppCompat библиотека не подключается к моему проекту, и сбой приложения с java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$layout.

Вот мой build.gradle:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 21 
    buildToolsVersion "21.1.2" 

defaultConfig { 
    applicationId "ua.appp.appp" 
    minSdkVersion 14 
    targetSdkVersion 21 
    versionCode 15 
    versionName "2.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:22.0.0' 

    compile 'com.google.android.gms:play-services:6.5.87' 
    compile 'com.google.apis:google-api-services-calendar:v3-rev119-1.19.1' 
    compile 'com.google.api-client:google-api-client:1.19.1' 
    compile 'com.google.api-client:google-api-client-android:1.19.1' 
    compile 'com.google.api-client:google-api-client-gson:1.19.1' 

    compile 'com.github.navasmdc:MaterialDesign:[email protected]' 
    compile 'com.afollestad:material-dialogs:0.6.5.2' 
    compile 'com.nhaarman.listviewanimations:lib-core:[email protected]' 
    compile 'com.nhaarman.listviewanimations:lib-manipulation:[email protected]' 
    compile 'com.nhaarman.listviewanimations:lib-core-slh:[email protected]' 
} 

PS: Некоторые интересный факт: Когда я добавляю все эти библиотеки тестовый проект, код компилируется и отлично работает без ошибок.

+0

Я хотел бы предложить проверить, есть ли другая зависимость от этой библиотеки в каком-то подмодуле приложения, а также очистки и восстановление проекта иногда помогает с bu ошибки ild. Более того, я бы предложил проверить версию библиотеки и проверить, действительно ли у нее есть методы и классы, которые вы пытаетесь использовать. Однако я не могу сказать, что вижу какие-то реальные проблемы здесь ... Вы пытались удалить все использование этой библиотеки, но оставив зависимость? P.S. У стэка есть русская версия, где можно общаться на русском языке без проблем – Chaosit

ответ

1

Когда вы добавляете multidex:true не забудьте сделать Application класс в вашем проекте, который простирается от MultiDexApplication или много плохих вещей будет

public class YourApplication extends MultiDexApplication { 
    .......... 
} 

И не забывайте об этом либо (версия может меняться с течением времени, если вы читаете это, убедитесь, что вы используете последнюю версию)

dependencies { 
    'com.android.support:multidex:1.0.1' 
} 
+0

beautiful = -) Thank's = -) –

+0

Нет проблем. Я бы сказал, что вы потеряли девственность, ваше приложение нарушило предел метода 2^16. ^. ^ –

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