Ошибка Firebase не удается получить доступ к zzanb после использования play-services-xxx: 9.8.00

#android #firebase #firebase-authentication

#Android #firebase #firebase-аутентификация

Вопрос:

Я получил сообщение ниже, когда я использую новейшую версию com.google.android.gms: play-services-xxx: 9.8.00

Error:(32, 28) error: cannot access zzanb
class file for com.google.android.gms.internal.zzanb not found

Ошибка была вызвана вызовом инструкции: FirebaseAuth.getInstance().getCurrentUser().getUid();

Как я могу исправить эту проблему? Спасибо.

ОБНОВЛЕНИЕ: проблема решена

Последнее обновление firebase версии 9.8.0 совместимо с версией google-service 9.8.0. Теперь все работает правильно.

ПРИМЕЧАНИЕ: Firebase и Google Play всегда имеют одну и ту же версию. @смотрите комментарий Яна Барбера ниже.

Комментарии:

1. Я знаю, что вы решили проблему, вернувшись к старому, но на случай, если проблема возникнет при повторном обновлении, можете ли вы подтвердить: какая версия сервисов Google Play была на самом устройстве? Кроме того, не могли бы вы поделиться своим списком зависимостей gradle?

2. Дополнительно: используете ли вы базу данных Firebase в коде? Если да, не могли бы вы сообщить нам, как этот вызов взаимодействует с этим? На данный момент у нас есть подозрения, что номера версий play-services и firebase не совпадают.

3. @IanBarber благодарю вас за ваш ответ. Я снова обновляю его с той же версией Firebase. Теперь все работает правильно. Но у меня вопрос «Всегда ли версия Firebase и версия Google-service одинаковы?»

4. Это Firebase является частью SDK сервисов Google Play, поэтому они всегда должны совпадать

5. @IanBarber Хорошо, большое тебе спасибо.

Ответ №1:

9.8.0 был случайным ранним выпуском. Пожалуйста, не используйте это! Если вам случилось обновить свои инструменты Android в выходные дни 22-23 октября, возможно, вы случайно получили это обновление. Чтобы удалить ее, просто удалите и переустановите инструмент Google Repository.

Комментарии:

1. Спасибо за ваш ответ. Я снова обновляю его с той же версией Firebase. Теперь все работает правильно.

2. Хороший улов! Я только что откатил версии библиотеки до 9.6.1. Работает нормально!

Ответ №2:

У меня была такая похожая ошибка, когда я недавно обновлял свою зависимость от play service. Похоже, это происходит, когда вы не обновляете зависимости firebase, соответствующие используемой вами версии play services.

Вот какими были две версии моих зависимостей:

Ошибка версии зависимостей

 compile 'com.google.firebase:firebase-appindexing:10.0.1'
compile 'com.google.android.gms:play-services-maps:10.0.1'
compile 'com.google.android.gms:play-services-places:10.0.1'
compile 'com.google.android.gms:play-services-location:10.0.1'
compile 'com.google.firebase:firebase-auth:9.8.0'
compile 'com.google.firebase:firebase-database:9.8.0'
compile 'com.firebaseui:firebase-ui-database:1.0.1'
compile 'com.google.firebase:firebase-storage:9.8.0'
  

Рабочая версия зависимостей
`

 compile 'com.google.firebase:firebase-appindexing:10.0.1'
compile 'com.google.android.gms:play-services-maps:10.0.1'
compile 'com.google.android.gms:play-services-places:10.0.1'
compile 'com.google.android.gms:play-services-location:10.0.1'
compile 'com.google.firebase:firebase-auth:10.0.0'
compile 'com.google.firebase:firebase-database:10.0.0'
compile 'com.firebaseui:firebase-ui-database:1.0.1'
compile 'com.google.firebase:firebase-storage:10.0.0'
  

«
Похоже, что в эти дни Google переносит обновления сервиса play вместе с обновлениями firebase. Надеюсь, это спасет несколько душ.

Ответ №3:

В предупреждениях build.gradle (модульное приложение) есть сложная несогласованность, которая может привести к этой ошибке. У меня были все мои play-services, скомпилированные:

 compile 'com.google.android.gms:play-services-drive:9.6.1'
compile 'com.google.android.gms:play-services-plus:9.6.1'
--- etc ---
  

выделено серым цветом с пометкой о том, что более новая версия, а именно 9.8.0, была доступна после обновления различных APK-файлов Google Play. После изменения всех play-services компилируется до версии 9.8.0:

 compile 'com.google.android.gms:play-services-drive:9.8.0'
compile 'com.google.android.gms:play-services-plus:9.8.0' 
---etc---
  

Я получил странную ошибку:

 class file for com.google.android.gms.internal.zzanb not found
  

при попытке скомпилировать мой код. Сложность заключалась в том, что все мои firebase компилировались:

 compile 'com.google.firebase:firebase-core:9.6.1'
compile 'com.google.firebase:firebase-invites:9.6.1'
---etc---
  

не были выделены серым цветом, поэтому я забыл обновить эти компиляции одновременно с обновлением компиляций play-services. Обновление всех компиляций firebase до версии 9.8.0:

 compile 'com.google.firebase:firebase-core:9.8.0'
compile 'com.google.firebase:firebase-invites:9.8.0'
--- etc ---
  

исправлена ошибка.

Кроме того, предупреждения на мониторе при появлении этой ошибки предполагают отключение предупреждений об устаревании и непроверенных ссылках. В этом нет необходимости и это не исправляет.

Android Studio следует выделить серым цветом компиляцию firebase и play-services вместе, чтобы избежать этой ошибки, особенно поскольку сообщение об ошибке настолько загадочное, а предложения по подавлению предупреждения о ворсе не работают.

Ответ №4:

Наконец, я возвращаюсь к com.google.android.gms: play-services-xxx: 9.6.1. Я понимаю, что проблема возникает из-за разницы между версией firebase и версией gms. В настоящее время Firebase работает на версии 9.6.1