Проблема с мультидексом во FlutterAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Проблема с мультидексом во Flutter

Сообщение Anonymous »

Я получаю следующую ошибку при компиляции с помощью gradle с использованием Flutter в Android Studio:
Dex: Error converting bytecode to dex:
Cause: com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/internal/zzcew;
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/internal/zzcew;

[... stacktrace omitted for brevity ...]

* What went wrong:
Execution failed for task ':app:transformDexArchiveWithDexMergerForDebug'.
> com.android.build.api.transform.TransformException: com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/internal/zzcew;

Краткая версия
Это происходит только в том случае, если я добавляю достаточно зависимостей, как и следовало ожидать. Я включил multidex и добавил зависимость multidex в файл build.gradle проекта Android в соответствии с инструкциями (https://developer.android.com/studio/bu ... tidex.html), но не был уверен, что делать с шагом 2 в разделе «Настройка приложения для multidex» для приложения Flutter, и даже не было ли проблемой отсутствие этого шага.
Шаги по воссозданию:
  • Выберите «Файл»/Новый/Новый проект Flutter на панели инструментов
  • Выберите «Приложение Flutter»
  • Включить поддержку Kotlin и Swift
  • Проверьте, что приложение компилируется и запускается
  • Добавьте следующее в зависимости в pubspec.yaml:
dependencies:
flutter_google_place_picker: "^0.0.1"
location: "^1.2.0"
  • Выберите Packages Get в Android Studio или запустите пакеты flutter get в каталоге проекта.
  • Измените android/app/build.gradle, чтобы добавить следующие разделы в соответствующих местах:
dependencies {
compile 'com.android.support:multidex:1.0.1'
}
android {
defaultConfig {
multiDexEnabled true
}
}
  • Выберите «Выполнить/Выполнить» на панели инструментов.
Другие вещи, которые я пробовал
  • Замена зависимости «компиляция» в build.gradle на каждое из следующих действий:
    compile 'com.android.support:multidex:1.0.3'
    implementation 'com.android.support:multidex:1.0.1'
    implementation 'com.android.support:multidex:1.0.3'
  • Выполнив шаги мультидекса для каждой из моих зависимостей; т. е. изменение их файлов build.gradle, включение мультидексации и добавление зависимости мультидекса.
  • Изменение minSdkVersion на каждый из 21 и 27 в каждом из файлов build.gradle для моего проекта и его зависимостей и включение мультидексации для них.
  • Включение минимизации для моего project.
  • Замена местоположения: "^1.2.0" на геолокацию: "^0.2.1"
  • Вообще не включать мультидекс (т. е. пропускать шаг 7 пересоздания). Это приводит к следующей ошибке:
    FAILURE: Build failed with an exception.

    * What went wrong:
    Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
    > java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
Вывод Flutter Doctor
$ flutter doctor -v
[√] Flutter (Channel beta, v0.2.8, on Microsoft Windows [Version 10.0.16299.371], locale en-GB)
• Flutter version 0.2.8 at D:\flutter
• Framework revision b397406561 (2 weeks ago), 2018-04-02 13:53:20 -0700
• Engine revision c903c217a1
• Dart version 2.0.0-dev.43.0.flutter-52afcba357

[√] Android toolchain - develop for Android devices (Android SDK 27.0.3)
• Android SDK at C:\Users\Dave\AppData\Local\Android\sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-27, build-tools 27.0.3
• Java binary at: D:\AndroidDev\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
• All Android licenses accepted.

[√] Android Studio (version 3.1)
• Android Studio at D:\AndroidDev
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[√] Connected devices (1 available)
• Android SDK built for x86 64 • emulator-5554 • android-x64 • Android 5.1.1 (API 22) (emulator)

• No issues found!


Подробнее здесь: https://stackoverflow.com/questions/498 ... th-flutter
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»