Flutter:构建失败,出现异常。

6

我正在尝试在Flutter应用程序中使用FirebaseAuth。我可以使用Firestore服务,但是当我在pubspec.yaml文件中包含firebase_auth依赖项时,我收到以下异常。

FAILURE:构建失败,出现异常。
*出了什么问题:执行task':app:transformDexArchiveWithExternalLibsDexMergerForDebug'时失败。 > java.lang.RuntimeException:java.lang.RuntimeException:com.android.builder.dexing.DexArchiveMergerException:无法合并dex文件 * 尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行 更多的日志输出。
* 获取更多帮助请访问https://help.gradle.org

这是我的pubspec.yaml文件

dependencies:
  flutter:
    sdk: flutter
  intl: ^0.15.6
  #firebase_core: ^0.2.2
  google_sign_in:
    git:
      url: http://github.com/jahirhstu/flutter_plugins.git
      path: packages/google_sign_in
  #firebase_analytics: 
  #  git:
  #    url: http://github.com/jahirhstu/flutter_plugins.git
  #    path: packages/firebase_analytics
  firebase_auth:
    git:
      url: http://github.com/jahirhstu/flutter_plugins.git
      path: packages/firebase_auth
  cloud_firestore:
    git:
      url: http://github.com/jahirhstu/flutter_plugins.git
      path: packages/cloud_firestore
  cupertino_icons: ^0.1.0
  shrine_images: 1.0.0
dev_dependencies: flutter_test: sdk: flutter
4个回答

17

好的,我试图解决它所做的是:

*1.- 重新安装Flutter

2.- 重新安装Dart SDK

3.- 下载Gradle 5.1.1

4.- 创建一个带Firebase的新应用程序并包含依赖项

5.- 再次编译*

所有这些都没有起作用。

然后我做了:

6.- 在gradle.properties末尾复制下一行内容

android.useAndroidX=true
android.enableJetifier=true

7. - 更改文件 app\build.gradle

android {
    compileSdkVersion 28

...

defaultConfig {
    minSdkVersion 21
    targetSdkVersion 28
    multiDexEnabled true
    ...
}

8. - 可选地,在文件 android\build.gradle 的 subproject{} 中添加代码。

subprojects {
    ...
    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            options.compilerArgs << "-Xlint:deprecation" << "-Xlint:unchecked"
        }
    }
}

9. - 打开终端并输入命令

flutter clean

10. 运行你的应用程序。

希望会有所帮助。


你好,我按照你的步骤操作,但现在出现了一个错误: FAILURE: Build failed with an exception. Execution failed for task ':app:compileDebugKotlin'. 请帮帮我!谢谢。 - Yogesh Patel

4
在您的项目文件夹中,路径为android > app > build.gradle: 在defaultConfig { ....}中添加以下行:multiDexEnabled true 请参考下图:enter image description here

它确实解决了构建错误,但应用程序在模拟器中无法运行。收到消息“ApplicationName停止运行”。 - Jahirul Islam
在项目目录中运行命令“flutter clean”,然后重新构建。 - anmol.majhail
在模拟器中输入“flutter run”命令后,应用程序没有运行,而是出现了一条消息,上面写着“ApplicationName停止运行”。其中,ApplicationName是我的应用程序名称。 - Jahirul Islam
1
我重新启动了模拟器,执行了flutter clean,然后再次执行flutter run。仍然出现相同的错误。 - Jahirul Islam
升级你的Flutter - 如果没有升级,请执行'flutter upgrade'命令。 - anmol.majhail
显示剩余3条评论

0
尝试在 /android/app/build.gradle 文件中执行以下操作:
android {
    defaultConfig {
        // ...
        minSdkVersion 16
        targetSdkVersion 28
        multiDexEnabled true
    }
}

dependencies {
  implementation 'com.android.support:multidex:1.0.3'
}

0
如果以上方法都不起作用,那么只需降低gradle构建级别即可解决问题。
dependencies {
    `classpath` '`com.android.tools.build:gradle:**3.5.0**`'
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接