在为Google Calendar API添加一行以build.gradle时遇到问题.这是错误:
UNEXPECTED top-LEVEL EXCEPTION:com.androID.dex.DexIndexOverflowException: method ID not in [0, 0xffff]:65536 at com.androID.dx.merge.DexMerger.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 2information:BUILD Failedinformation:Total time: 14.802 secsinformation:1 errorinformation:2 warningsinformation:See complete output in console
我尝试了很多选择,但没有任何效果.当我向defaultConfig添加“ multIDex true”时,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:1.+@aar' compile 'com.afollestad:material-dialogs:0.6.5.2' compile 'com.nhaarman.ListvIEwanimations:lib-core:3.1.0@aar' compile 'com.nhaarman.ListvIEwanimations:lib-manipulation:3.1.0@aar' compile 'com.nhaarman.ListvIEwanimations:lib-core-slh:3.1.0@aar'}
PS:一个有趣的事实:当我将所有这些库添加到测试项目中时,代码可以编译并且可以正常工作而不会出错.
解决方法:
当您添加multIDex:true时,请不要忘记在项目中创建一个从MultIDexApplication扩展而来的Application类,否则会发生很多不好的事情
public class YourApplication extends MultIDexApplication { ..........}
并且也不要忘记这一点(版本可能会随着时间的推移而变化,如果您阅读此书,请确保使用最新版本)
dependencIEs { 'com.androID.support:multIDex:1.0.1'}
总结 以上是内存溢出为你收集整理的android-MultiDex问题-任务’:app:dexDebug’的执行失败全部内容,希望文章能够帮你解决android-MultiDex问题-任务’:app:dexDebug’的执行失败所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)