#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