Приложение Flutter, работающее в Интернете, не работает с ошибкой: только члены взаимодействия JS могут быть `` внешними ''

Я пытаюсь запустить мое текущее приложение Flutter в Интернете. я звонил flutter create . но если я попытаюсь запустить его в Chrome, мне будет предложено около 10000 сообщений об ошибках, которые выглядят следующим образом:

Попробуйте удалить ключевое слово external или добавить аннотацию взаимодействия JS. внешние удаления ffi.Pointer<OBX_id_array>;^

../../flutter/.pub-cache/hosted/pub.dartlang.org/objectbox-1.1.0/lib/src/native/bindings/objectbox-c.dart:6289:41: Ошибка: только JS-взаимодействие члены могут быть «внешними». Попробуйте удалить ключевое слово external или добавить аннотацию взаимодействия JS. внешний список ffi.Pointer<OBX_sync_change>;^

../../flutter/.pub-cache/hosted/pub.dartlang.org/objectbox-1.1.0/lib/src/native/bindings/objectbox-c.dart:6292:16: Ошибка: только JS-взаимодействие члены могут быть «внешними». Попробуйте удалить ключевое слово external или добавить аннотацию взаимодействия JS. внешнее целое число; ^

Не удалось скомпилировать приложение.

Я пробовал погуглить, но ничего не нашел. Кто-нибудь знает, о чем это и как я могу это подобрать ??

2 ответа

Решение

Повторная публикация ответа по проблеме GitHub здесь:

Вы не можете создать свое приложение для Интернета с пакетами, которые не поддерживают Интернет, чего еще нет в ObjectBox (хотя есть проблема, которую вы можете отслеживать ).

Иногда вам может потребоваться зависимость в небольшой части кода, и это нормально, если она не работает для Интернета. В этом случае вы можете использовать «условный импорт», например:

      import 'myapp/sources-that-use-objectbox.dart' if (dart.library.html) 'myapp/sources-that-dont-use-objectbox.dart';

В моем случае я случайно использовал библиотеку "ffi", которая не поддерживается в Интернете. Затем я удалил весь импорт этой библиотеки из моего кода, а также удалил библиотеку из pubsec.yaml. Теперь запускается нормально.

Другие вопросы по тегам