Сбой встроенного приложения при NoClassDefFoundError в файлах aar Firebase

В настоящее время я столкнулся с проблемой с плагинами Firebase в Unity. Когда я запускаю свое приложение для Android после его сборки, оно сразу же вылетает с этой ошибкой:

Exception java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/firebase/appcheck/interop/InternalAppCheckTokenProvider;
  at com.google.firebase.database.DatabaseRegistrar.getComponents (DatabaseRegistrar.java:41)
  at com.google.firebase.tracing.ComponentMonitor.processRegistrar (ComponentMonitor.java:28)
  at com.google.firebase.components.ComponentRuntime.discoverComponents (ComponentRuntime.java:117)
  at com.google.firebase.components.ComponentRuntime.<init> (ComponentRuntime.java:99)
  at com.google.firebase.components.ComponentRuntime.<init> (ComponentRuntime.java:46)
  at com.google.firebase.components.ComponentRuntime$Builder.build (ComponentRuntime.java:387)
  at com.google.firebase.FirebaseApp.<init> (FirebaseApp.java:438)
  at com.google.firebase.FirebaseApp.initializeApp (FirebaseApp.java:295)
  at com.google.firebase.FirebaseApp.initializeApp (FirebaseApp.java:263)
  at com.google.firebase.FirebaseApp.initializeApp (FirebaseApp.java:248)
...

Я посмотрел файлы aar, загруженные преобразователем зависимостей Android. У меня есть следующие файлы aar:

  • com.google.firebase.firebase-database-20.2.0.aar
  • com.google.firebase.firebase-appcheck-interop-17.0.0.aar

Классы находятся в com.google.firebasefirebase-appcheck-interop-17.0.0.aar

Я могу найти класс InteropAppCheckTokenProvider, но не InternalAppCheckTokenProvider.

У меня последняя версия (10.7.0) плагина в Unity 2021.3.11f1. Я попытался установить плагины как с файлами .unitypackage, так и с диспетчером пакетов, что привело к той же проблеме. У меня неправильные версии плагинов? Я что-то пропустил? Или я нашел ошибку, о которой нужно сообщить в Firebase?

Спасибо за помощь!

Была такая же проблема. В моем случае я использовал зависимость Firebase BOM с версией и зависимость отладки проверки приложения с другой версией - как только я использовал зависимость отладки проверки приложения с той же версией других отделений Firebase, это сработало.

Catalin Ghita 03.05.2023 15:11

Что здесь странно, так это то, что у меня есть одна и та же версия для каждого плагина firebase (10.7.0), и я трижды проверил, что у меня есть все зависимости для com.google.firebase.database (авторизация, приложение и внешний менеджер зависимостей). Возможно, я попробую установить более старую версию плагинов и посмотрю, приведет ли это к той же ошибке. Спасибо за вашу помощь @CatalinGhita!

LAmiSolah 05.05.2023 08:42
1
2
213
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вы запустите Force Resolve в Android Resolver, удастся ли ему разрешить?

Расположение варианта на фото.

Попробуйте сделать это, а затем построить снова.

Если проблема не устранена, включите как пользовательский основной шаблон Gradle, так и пользовательский шаблон свойств Gradle в настройках Android Resolver, а затем повторите попытку сборки и запуска.

Если проблемы не устранены, выполните действия по отладке, перечисленные в этом руководстве по отладке сборки.

Если ничего не помогает, отправьте заявку на github firebase-unity-sdk.

Большое спасибо за ваши предложения! Force Resolve завершается успешно, но у меня все еще есть проблема, я попробую включить пользовательские шаблоны, а затем пройду этот шаг и посмотрю, что произойдет!

LAmiSolah 06.05.2023 09:38

Включение пользовательского основного шаблона Gradle и пользовательского свойства Gradle, а затем запуск другого Force Resolve сработало! Еще раз спасибо!

LAmiSolah 06.05.2023 09:54

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