web-dev-qa-db-ja.com

Firebase Authが機能しない-エミュレーターの「Google Play開発者サービスの更新」メッセージ(Android)

Firebase Authサービスをメールとパスワードで使用しようとしています。登録をクリックすると、エミュレータに次のような警告が表示されます。

"Update Google Play services : Firebase Auth won't run unless you update Google Play services"

ログを見ると、これらの2行を読むことができます。

DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.
GooglePlayServicesUtil: Google Play services out of date. Requires 9256000 but found 9080480 

SDKマネージャーでは、Google Play開発者サービスは最新です。エミュレータの問題であると思われますが、どういうわけか最新ではありません。

私が使用しているエミュレーター:Nexus 5X API 21(Google APIを使用)

何か案が?ありがとう!

21
raphh

あなたの投稿では、SDK Managerでは、Google Play開発者サービスは最新です。

スタンドアロンSDKマネージャーの下部にあるExtrasセクションに表示されるGoogle Play Servicesのバージョンは、エミュレーターが使用するバージョンに影響を与えません。エミュレータは、Play Servicesの特定のバージョンを含むように構成されたシステムイメージで実行されますが、これは常に最新ではありません。

最新のエミュレータイメージをダウンロードしたことを確認する必要があります。これらは、各APIレベルの下のスタンドアロンSDKマネージャーにリストされ、名前がSystem Imageで終わります。 Goggle APIs ... System Imageファイルの最新バージョンをダウンロードしたことを再確認してください。更新されたイメージを使用するには、エミュレータを再作成する必要があります。

あなたの質問を見るまで、最新バージョンを持っていなかったため、Nexus 5X API 21エミュレーターでFirebase Auth 9.0.2を実行しようとしました。あなたが報告したようなメッセージで失敗しました。次に、最新のイメージ(rev 12)をダウンロードし、正常に実行できるようになりました。

27
Bob Snyder

このような将来の問題に対する最善の方法はです。

エミュレータを開き、設定>アプリ> Google Play Servicesに移動します

aVDが使用している魔女バージョンが見つかります

play_services_version

aVDが使用している番号を知っているので、

あなたのgradleで同等または怒鳴るバージョン

dependencies {

    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.Android.support:appcompat-v7:24.0.0'
    compile 'com.Android.support:design:24.0.0'
    // Fire base
    compile 'com.google.firebase:firebase-auth:9.0.1'
    compile 'com.google.firebase:firebase-database:9.0.1'
    compile 'com.google.Android.gms:play-services-auth:9.0.1'
}

apply plugin: 'com.google.gms.google-services'

私のためにこの仕事、私はそれが役立つことを願っています!

8
Adliano Alves

Google Playサービスを更新することでこの問題を解決しました。最初は8.0で、11.0に更新しました。

0
vinotech cmr