Я разрабатываю приложение Flutter с использованием Objectbox в качестве базы данных. Приложение отлично работает на устройстве Android, подключенном через USB, но когда я пытаюсь запустить его в среде рабочего стола Windows, предоставленная Flutter, я сталкиваюсь с постоянной проблемой. < /P>
Сообщение об ошибке i Получить: < /p>
Неотъемное исключение: ObjectBoxException: не удалось создать магазин: идентификатор входящего объекта 1: 5518923810860262496 не соответствует существующему UID 490951137383253 < /p>
Не происходит при запуске приложения на устройстве Android. Вот шаги и конфигурации, которые я пробовал:
- обеспечить согласованную Objectbox-model.json на обеих платформах.
- Удалить и регенерированный ObjectBox-model.json и связанные файлы. Повторно запустите Flutter Pub Run Build_runner Build-delete-conflicting-outputs для разрешения любых потенциальных конфликтов в сгенерированных файлах.
Несмотря на Эти усилия, ошибка сохраняется исключительно в среде Windows. Я ищу представление о том, почему это расхождение происходит и как его разрешить, чтобы приложение плавно функционировало на обеих платформах. ценится. Спасибо! Первоначально я ожидал, что восстановление файлов модели Objectbox с помощью Flutter Pub Run Build_runner Build-delete-Conflicting-outputs будет разрешать любые несоответствия в идентификаторах и UIDS. Этот метод обычно решает такие проблемы, очищая и восстанавливая необходимые файлы. Однако, несмотря на многочисленные попытки, ошибка сохраняется при запуске в Windows, хотя никаких проблем не возникает, когда приложение запускается на устройстве Android. , гарантируя, что определения объектов в моем коде DART соответствовали схеме, ожидаемой ObjectBox. Я ожидал, что свежая установка устранит любые расхождения, вызывающие ошибку. К сожалению, это не изменило результат в Windows, хотя все функционировало, как и ожидалось на Android. Расхождение в поведении между двумя средами было неожиданным и остается неразрешенным.
Подробнее здесь:
https://stackoverflow.com/questions/783 ... ncoming-en