Ошибка в типе программы R8 уже присутствует при компиляции приложения - PullRequest
2 голосов
/ 13 марта 2020

Я пытаюсь скомпилировать APK для Flutter, но я получаю сообщение об ошибке в r8. У меня уже есть другие приложения во Flutter, но у меня никогда не было проблем с компиляцией и выполнением тестов с ними. Я понимаю, что проблема в библиотеке WebView, потому что, когда я удаляю ее из pubspe c, приложение компилируется. Но я не могу отказаться от использования WebView на данный момент, это важно для приложения. Странно то, что я могу отлаживать приложение на устройстве.

Я пробовал несколько решений, подобных приведенным ниже:

gradlew clean in project-flutter / android
flutter clean

И следующие шаги:

  • Обновлено до последней версии зависимости от веб-просмотра в пабе spe c.
  • Я уже переключился на мастер-канал флаттера.
  • Также выполнил обновление флаттера, но ничего не решает проблема.

Я получаю следующую ошибку:

R8: Тип программы уже существует: io.flutter.plugins.webviewflutter.BuildConfig

FAILURE : Сбой сборки с исключением.

Что пошло не так:

Не удалось выполнить задачу ': app: transformClassesAndResourcesWithR8ForRelease'. com. android .tools.r8.CompilationFailedException: не удалось завершить компиляцию

ref r8: https://developer.android.com/studio/build/shrink-code?hl=pt-br

Ответы [ 3 ]

1 голос
/ 16 марта 2020

Как видно из сообщения, класс io.flutter.plugins.webviewflutter.BuildConfig присутствует дважды на входе. Вам нужно будет отследить две зависимости, которые имеют этот класс.

Вы можете использовать

./gradlew app:dependencies

и

./gradlew app:androidDependencies

, чтобы получить информацию обо всех зависимостях. Затем вам нужно выяснить, как избежать одной из этих зависимостей.

0 голосов
/ 07 апреля 2020

Найдя ответ, вы можете удалить webview_flutter из вашего пабса c .yaml, так что вы просто используете youtube_player_flutter в своем пабсе c .yaml. Вы по-прежнему можете использовать веб-просмотр со всеми функциями, начиная с webview_flutter с import 'package:webview_media/webview_flutter.dart'; в файле дротика, который использует веб-просмотр.

0 голосов
/ 19 марта 2020

Работая на меня

Я заменил webview_flutter 0.3.19 + 9 из pubspe c .yaml с webview_media 0.1.1 + 3

Это было действительно полезно для меня [https://github.com/sarbagyastha/youtube_player_flutter/issues/11] [1]

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