1

我在为Google Calendar API添加一行时遇到问题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,程序兼容性库没有连接到我的项目,并与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的方法限制。 ^。^ –

相关问题