意外的顶级异常:在Android studio上运行应用程序时发生DexIndexOverflowException
我正在使用google play services 7.5.0版,在运行项目时出现以下错误 我的项目包含两个模块。 下面是每个模块的build.gradle文件 模块1:意外的顶级异常:在Android studio上运行应用程序时发生DexIndexOverflowException,android,android-studio,Android,Android Studio,我正在使用google play services 7.5.0版,在运行项目时出现以下错误 我的项目包含两个模块。 下面是每个模块的build.gradle文件 模块1: apply plugin: 'com.android.library' android { compileSdkVersion 22 buildToolsVersion "23.0.0 rc3" defaultConfig { minSdkVersion 9 targ
apply plugin: 'com.android.library'
android {
compileSdkVersion 22
buildToolsVersion "23.0.0 rc3"
defaultConfig {
minSdkVersion 9
targetSdkVersion 22
versionCode 1
versionName "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:support-v4:22.2.0'
compile 'com.google.android.gms:play-services:7.5.0'
}
模块2:
apply plugin: 'com.android.library'
android {
compileSdkVersion 22
buildToolsVersion "23.0.0 rc3"
defaultConfig {
minSdkVersion 9
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':module1')
}
这是应用程序的build.gradle文件
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "23.0.0 rc3"
defaultConfig {
applicationId "com.vserv.offerwall"
minSdkVersion 9
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
dexOptions {
jumboMode true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile project(':module2')
}
repositories {
flatDir {
dirs 'libs'
}
}
当我构建应用程序时,它会成功构建。但是当我尝试运行应用程序时,我遇到了下面提到的错误
意外的顶级异常:
com.android.dex.DexIndexOverflowException:方法ID不在[0,0xffff]:65536中
位于com.android.dx.merge.dexmerge$6.updateIndex(dexmerge.java:502)
在com.android.dx.merge.dexmerge$idmerge.mergeSorted(dexmerge.java:277)
位于com.android.dx.merge.dexmerge.mergeMethodId(dexmerge.java:491)
位于com.android.dx.merge.dexmerge.mergeDexes(dexmerge.java:168)
位于com.android.dx.merge.dexmmerge.merge(dexmmerge.java:189)
位于com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:502)
位于com.android.dx.command.dexer.Main.runMonoDex(Main.java:334)
位于com.android.dx.command.dexer.Main.run(Main.java:277)
位于com.android.dx.command.dexer.Main.Main(Main.java:245)
位于com.android.dx.command.Main.Main(Main.java:106)
错误:任务“:app:dexDebug”的执行失败。
com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:process'command'C:\Program Files\Java\jdk1.7.0_45\bin\Java.exe''以非零退出值2结束
我做了一些谷歌搜索,发现下面提到的链接
我已经尝试过这个方法,并通过将multiDexEnabled true
添加到defaultConfig和compile'com.android.support:multidex:1.0.0'
中编辑了app gradle文件
之后,上述错误被解决,然后我在运行应用程序时又遇到了一个错误
:app:shrinkDebugMultiDexComponents失败
错误:任务“:app:shrinkDebugMultiDexComponents”的执行失败。
java.io.IOException:无法读取[D:\StudioWorkspace\samplesdkddemoproject\app\build\mediates\multi-dex\debug\allclasses.jar](无法处理类[org/fmod/FMODAudioDevice.class](256))
请帮我解决这个问题
提前感谢。而不是从谷歌服务导入所有模块
compile 'com.google.android.gms:play-services:7.5.0'
仅导入所需的模块。检查
注意:如果应用程序中的方法引用数超过65K
限制,您的应用程序可能无法编译。您可能能够缓解这种情况
通过仅指定特定的Google应用程序来编译应用程序时出现问题
播放应用程序使用的服务API,而不是所有API
而不是从谷歌服务导入所有模块
compile 'com.google.android.gms:play-services:7.5.0'
仅导入所需的模块。检查
注意:如果应用程序中的方法引用数超过65K
限制,您的应用程序可能无法编译。您可能能够缓解这种情况
通过仅指定特定的Google应用程序来编译应用程序时出现问题
播放应用程序使用的服务API,而不是所有API
它帮助了我,但即使我的方法计数将超过65k,那么应该采取什么适当的措施来解决它帮助了我,但即使我的方法计数将超过65k,那么应该采取什么适当的措施来解决