当前位置: 首页 > 知识库问答 >
问题:

任务': app: mergeDexDebug'执行失败。火力恢复|颤振

云飞翮
2023-03-14

尝试在我的项目中使用FiRecovery。我的项目是一个全新的项目,但在我的设备上运行应用程序时遇到问题而没有收到错误:任务“: app: mergeDexDebug”执行失败。

我的应用程序正在使用AndroidX。我已经添加了我的谷歌服务。json文件,遵循步骤等。

Yaml文件:

dependencies:
  cloud_firestore: ^0.13.3

android/build。格拉德尔:

com.google.gms:google-services:4.3.3

完全错误:

失败:构建失败,但有例外。

错误:任务:app:mergeDexDebug的执行失败。执行com时出错。Android建筑格拉德尔。内部的任务。工人$ActionFacade com.Android建设者德兴。DexArchiveMergerException:合并dex存档时出错:中的方法引用数。dex文件不能超过64K。了解如何在上解决此问题https://developer.android.com/tools/building/multidex.html

共有3个答案

何辰沛
2023-03-14

我刚刚遇到了这个错误,事实证明它可以很容易地修复。当然,关于这个的其他答案真的很棒,它告诉你如何修复它。然而,我想知道为什么会发生这种情况。原来这来自使用的minSdkVersion。如果这设置为20或更低,您需要配置您的应用程序以支持multiDex。

   defaultConfig {
        applicationId "com.inspire.aaym"
        minSdkVersion 21
        targetSdkVersion 30
    }

因此,如果你的应用程序不打算在5.0之前的Android版本中使用,那么将minSdkVersion设置为21将很容易解决这个问题。如果没有,请按照解决方法启用多索引支持。

阅读官方文档的更多内容:https://developer.android.com/studio/build/multidex#mdex-gradle

况喜
2023-03-14

修复了问题,但不理解原因。当我相信Firestore正在使用AndroidX时,为什么需要启用multiDex?

无论如何,修复。将multiDexEnabled true添加到应用程序/版本中。格拉德尔

defaultConfig {
    // TODO: Specify your own unique Application ID 
    (https://developer.android.com/studio/build/application-id.html).
    applicationId "com.example.poll"
    minSdkVersion 16
    targetSdkVersion 28
    versionCode flutterVersionCode.toInteger()
    versionName flutterVersionName
    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    //This line here...
    multiDexEnabled true
}
薛泰
2023-03-14

问题在于multidex builder。实际上,当您在yaml文件中导入了许多无法放入单个文件中的包时,经常会发生这种情况。因此必须启用多索引。

转到android/app/build。渐变并添加以下代码行:

dependencies {
  implementation 'com.android.support:multidex:2.0.1' //enter the latest multidex version
}
android {
    defaultConfig {
        multiDexEnabled true
    }
}
 类似资料: