Не удалось выполнить задачу «: app: mergeDexDebug». Пожарный магазин | флаттер - PullRequest
5 голосов
/ 20 февраля 2020

Попытка использовать Firestore в моем проекте. Мой проект совершенно новый, но возникают проблемы с запуском приложения на моем устройстве без сообщения об ошибке: Не удалось выполнить задачу ': app: mergeDexDebug'.

Мое приложение использует AndroidX , Я добавил свой файл google-services. json, следуя инструкциям et c.

Файл Yaml:

dependencies:
  cloud_firestore: ^0.13.3

android / build.gradle:

com.google.gms:google-services:4.3.3

Полная ошибка:

FAILURE: сборка не удалась с исключением.

Что пошло не так: не удалось выполнить задачу ': app: mergeDexDebug'. Произошла ошибка при выполнении com. android .build.gradle.internal.tasks.Workers $ ActionFacade com. android .builder.dexing.DexArchiveMergerException: ошибка при объединении архивов dex: количество ссылок на методы в файле .dex не может превышать 64К. Узнайте, как решить эту проблему на https://developer.android.com/tools/building/multidex.html

Ответы [ 3 ]

10 голосов
/ 20 февраля 2020

Проблема в мультидексном компоновщике. На самом деле, это часто случается, когда вы импортировали много пакетов в файле yaml, которые не могут поместиться в один встроенный .dex, поэтому вам нужно включить multidex.

Go в android / app / build.gradle и добавьте следующие строки кодов:

dependencies {
  compile 'com.android.support:multidex:1.0.1' //enter the latest version
}
android {
    defaultConfig {
        multiDexEnabled true
    }
}
3 голосов
/ 20 февраля 2020

Исправлена ​​проблема, но не понимаю почему. Почему мне нужно включить multiDex, если я считаю, что Firestore использует AndroidX?

В любом случае, исправление. Добавьте 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
}
0 голосов
/ 08 мая 2020

multiDexEnabled true

просто поместите эту строку в начале buildconfig ... она будет работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...