Java Android错误:你的应用程序包含的方法引用超过了单个dex文件所能容纳的数量
Gradle构建成功,但当我尝试运行我的应用程序时,出现以下错误: 错误:你的应用程序包含的方法引用超过了单个应用程序所能容纳的数量 索引文件。看见 我在我的应用程序中实现了“使用谷歌账户登录”功能后得到了这个消息 为什么我会得到这个?为了解决这个问题,我不理解这个问题。你们有没有解决这个问题的办法 编辑 我遵循了这些步骤,但它显示了另一个错误: 正在从程序jar复制资源[/Users/Earthling/AndroidStudioProjects/GoogleTestProject/app/build/intermediates/transforms/jarMerging/debug/jars/1/1f/combined.jar] :app:transformClassesWithDexForDebug失败 错误:任务“:app:transformClassesWithDexForDebug”的执行失败。 com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException:org.gradle.process.internal.exeception:process'command'/Library/Java/JavaVirtualMachines/jdk1.8.031.jdk/Contents/Home/bin/Java''以非零退出值3结束Java Android错误:你的应用程序包含的方法引用超过了单个dex文件所能容纳的数量,java,android,android-activity,android-studio,gradle,Java,Android,Android Activity,Android Studio,Gradle,Gradle构建成功,但当我尝试运行我的应用程序时,出现以下错误: 错误:你的应用程序包含的方法引用超过了单个应用程序所能容纳的数量 索引文件。看见 我在我的应用程序中实现了“使用谷歌账户登录”功能后得到了这个消息 为什么我会得到这个?为了解决这个问题,我不理解这个问题。你们有没有解决这个问题的办法 编辑 我遵循了这些步骤,但它显示了另一个错误: 正在从程序jar复制资源[/Users/Earthling/AndroidStudioProjects/GoogleTestProject/app/
您必须使用
multidex
,因为您的项目超出了一个应用程序中授权的方法限制(我不记得大约56000个或差不多)。请参阅文档中的此报价(顺便提供的链接):
随着Android平台的不断发展,Android应用程序的规模也在不断扩大。当您的应用程序及其引用的库达到一定大小时,您会遇到生成错误,表明您的应用程序已达到Android应用程序生成架构的限制
为了构建和运行,您必须执行以下操作:
android {
defaultConfig {
...
// enabling multidex
multiDexEnabled true
}
}
// add the dependencie
dependencies {
compile 'com.android.support:multidex:1.0.0'
}
然后,创建自己的应用程序类,如下所示:
public class MyApplication extends MultiDexApplication {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this); // install multidex
}
}
最后,在清单中添加此类:
<application
...
android:name=".MyApplication">
遵循这些步骤,但我得到了这个新的错误。编辑question@Earthling,你应该试着遵循这个。这可能会解决您的问题。请参阅
<application
...
android:name="android.support.multidex.MultiDexApplication">