flutter 执行任务“:app:mergeDexDebug”失败,Firestore|扑动

xsuvu9jc  于 2022-12-27  发布在  Flutter
关注(0)|答案(9)|浏览(463)

尝试在我的项目中使用Firestore。我的项目是一个全新的项目,但在我的设备上运行应用程序时遇到问题,没有收到错误:* * 执行任务":app:mergeDexDebug"失败。**
我的应用程序使用AndroidX。我已经添加了我的google-services.json文件,按照步骤等。
Yaml文件:

dependencies:
  cloud_firestore: ^0.13.3

安卓系统/build. gradle:

com.google.gms:google-services:4.3.3

完整错误:
失败:生成失败,出现异常。
出了什么问题:任务":app:mergeDexDebug"的执行失败。执行com. android. build. gradle. internal. tasks. Workers $ActionFacade com. android. builder. dexing时发生故障。DexArchiveMergerException:合并dex存档时出错:dex文件中的方法引用数不能超过64K。请在https://developer.android.com/tools/building/multidex.html中了解如何解决此问题

qpgpyjmq

qpgpyjmq1#

问题出在multidex builder上,实际上,当你在yaml文件中导入了很多包,而这些包无法放入一个.dex builder中时,经常会发生这种情况,因此你必须启用multidex。
转到android/app/build.gradle并添加以下代码行:

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

ryoqjall2#

修正了这个问题,但不明白为什么。为什么我认为Firestore使用的是AndroidX时,我需要启用multiDex?
无论如何,修复。将multiDexEnabled true添加到您的应用程序/build.gradle

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
}
ykejflvf

ykejflvf3#

我刚刚遇到这个错误,结果发现它可以很容易地修复。当然,关于这个问题的其他答案真的很棒,它告诉你如何修复它。但是,我想知道为什么会发生这种情况。结果发现这是由使用的**minSdkVersion造成的。如果设置为20**或更低,你需要配置你的应用以支持multiDex。

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

因此,如果您的应用不适用于5.0之前的Android版本,将**minSdkVersion**编号设置为21将轻松解决此问题。如果不适用,请按照解决方案启用mutiDex支持。
从官方文件中阅读更多信息:https://developer.android.com/studio/build/multidex#mdex-gradle

odopli94

odopli944#

您可以遵循此处提到的指导原则
https://developer.android.com/studio/build/multidex
还是长话短说直接去接
找到android/app/build.gradle文件并添加以下代码行:

dependencies {
  compile 'com.android.support:multidex:1.0.3' 
  //find latest version from here https://developer.android.com/studio/build/multidex
}

android {
    defaultConfig {
        multiDexEnabled true
    }
}
3mpgtkmj

3mpgtkmj5#

当您的应用及其引用的库超过65,536个方法时,您会遇到一个构建错误,指示您的应用已达到Android构建架构的限制:https://developer.android.com/studio/build/multidex
最后在app/build.gradle默认配置中添加multiDexEnabled true。
第一个月

iyfjxgzm

iyfjxgzm6#

2022年:任务“:app:mergeExtDexDebug”执行失败。已通过更改以下内容解决此问题:

android {
    compileSdkVersion 29

    compileOptions {
        sourceCompatibility kotlin_version
        targetCompatibility kotlin_version
    }

android {
    compileSdkVersion 29

    compileOptions {
        sourceCompatibility 1.8
        targetCompatibility 1.8
    }

还添加了:

multiDexEnabled true

defaultConfig {

}
jjhzyzn0

jjhzyzn07#

如果您使用的是AndroidX,
将以下行添加到app/build.gradle
第一个月
implementation 'androidx.multidex:multidex:2.0.1' // to the dependencies
到AndroidManifest.xml(可选)

<application
    android:name="androidx.multidex.MultiDexApplication"

请注意,您必须将MainActivity扩展到MultiDexApplication。如果您更改android:name

mmvthczy

mmvthczy8#

在app/build.gradle中,确保minSdkVersion应大于或等于21
默认配置{

minSdkVersion 21

    targetSdkVersion 30

    versionCode flutterVersionCode.toInteger()

    versionName flutterVersionName

}
edqdpe6u

edqdpe6u9#

测试设备更改时出现此错误!请从项目中清除Build文件夹,然后重新运行。锁定正确

相关问题