Flutter真机运行遇Dex方法超限及mergeExtDexDebug失败问题求解
Flutter真机运行Dex方法数超限问题解决方案
错误示例
注意:C:\Users\Administrator\AppData\Local\Pub\Cache\hosted\pub.dev\cloud_firestore-4.14.0\android\src\main\java\io\flutter\plugins\firebase\firestore\FlutterFirebaseFirestorePlugin.java 使用或重写了已弃用的API。 注意:使用 -Xlint:deprecation 重新编译以获取详细信息。 注意:部分输入文件使用了未检查或不安全的操作。 注意:使用 -Xlint:unchecked 重新编译以获取详细信息。 注意:部分输入文件使用或重写了已弃用的API。 注意:使用 -Xlint:deprecation 重新编译以获取详细信息。 错误:D8: 无法将请求的类放入单个dex文件(方法数:112826 > 65536) com.android.builder.dexing.DexArchiveMergerException: 合并dex归档时出错: .dex文件中的方法引用数量不能超过64K。 FAILURE: 构建因异常失败。 - 出错原因: 任务 ':app:mergeExtDexDebug' 执行失败。 > 执行com.android.build.gradle.internal.tasks.DexMergingTaskDelegate时发生失败 执行工作项时发生失败 执行com.android.build.gradle.internal.tasks.DexMergingWorkAction时发生失败 com.android.builder.dexing.DexArchiveMergerException: 合并dex归档时出错: .dex文件中的方法引用数量不能超过64K。 - 尝试方案: > 使用 --stacktrace 选项获取堆栈跟踪。 > 使用 --info 或 --debug 选项获取更多日志输出。 > 使用 --scan 选项获取完整洞察。 构建失败,耗时4分1秒 [!] 应用需要Multidex支持 由于方法数已超过64k,您的Android应用构建需要Multidex支持。您可以传递 --no-multidex 标志来跳过Flutter的Multidex支持,使用手动解决方案。 Flutter工具可以添加Multidex支持。Flutter将添加以下文件: android/app/src/main/java/io/flutter/app/FlutterMultiDexApplication.java 无终端UI无法提示 错误: Gradle任务assembleDebug执行失败,退出码1
解决步骤
Android Studio项目内存在两个build.gradle配置文件:
- 项目级配置:
android/build.gradle - 应用级配置:
android/app/build.gradle
需选择应用级配置文件,修改其中的android节点下defaultConfig的minSdkVersion值为21:
android { defaultConfig { minSdkVersion 21 // 保留原有其他配置项 } // 保留原有其他配置项 }
修改完成后重新运行项目,即可解决上述Dex方法数超限导致的构建失败问题。
内容的提问来源于stack exchange,提问作者Heer Nayakpara
相关产品推荐
相关产品推荐

