web-dev-qa-db-ja.com

Google Maps APIの「Google Playサービスが更新されています」

Googleマップを使用するAndroidアプリがあります。突然、リリースモードで動作しなくなりました。マップビューでは、Google Playサービスが更新されていますエミュレーターおよび実際のデバイスで。ネット上で検索すると、誰もがAPIキーファイルについて話しますが、これは私の問題ではありません。

リリース設定のあらゆる異なる組み合わせを試しましたが、見つけましたビルド構成でdebuggable = falseを設定すると問題が発生します(debuggable = trueで動作します)。もちろん、APKはデバッグできないため、マップが機能しない理由を理解できません。また、最新(10.2.0)であっても、Google Playサービスの複数のバージョンを試しました。変わりはない。

私に何ができる?このバグを修正するまで、Playストアで新しいリリースをリリースすることはできません。

enter image description here

11
Guido Lodetti

「debuggableをfalseに設定すると、機能しなくなります」

これは、APIアクセスがデバッグモードに制限されていることを示しています。デバッグ用とリリース用に別々のAPIキーがないことを考慮すると、キーはデバッグ証明書に関連付けられているように見えます。

ドキュメント で「APIキーの制限の詳細」を引用するには:

オプションで制限を追加できます。 Androidアプリの場合、キーをアプリのSHA-1フィンガープリントに制限します

このような制限がある場合、リリース証明書の指紋が異なると、APIアクセスが切断されます。

正しい(リリース)証明書のフィンガープリントを取得するには、上記のリンクされたドキュメントの「証明書情報を自分で取得する」セクションをご覧ください。

3
Temporary

私は同じ問題を抱えていましたが、なんとかそれを修正しました。この問題は、minifyEnabledオプションがtrueに設定されている場合に発生します(falseの場合、問題は発生しません)。

要するに、私がしたことは次の行を追加することでした:

-keep class com.google.** {*; }

googleプレイサービスの依存関係が難読化されないようにするために、proguardルールファイル(proguard-rules.pro)に追加します。少なくとも私の場合、このルールを追加しても、結果のAPKはそれほど大きくないようです。

マップコンポーネントの使用が別のモジュール(たとえば、共有ライブラリ)から行われたときに問題が発生すると思いますが、私はそれを確認しませんでした。

1
estebanuri

残念ながら、最新のGoogle Play Servicesには欠陥があり、埋め込みマップはほぼすべてのHuawei/Meizuの携帯電話WORLDWIDEで機能しなくなります。キャッシュをクリアして修正する方法はありません。次回の再起動時に12.6.73 Google Play Servicesが自動的に更新され、数時間以内に再び動作しなくなるためです。唯一の方法はグーグルのホットフィックスを待つことです。

これは、この問題に関するGoogle公式の欠陥追跡チケットです。

https://issuetracker.google.com/issues/794059

1
user2991288

同じ「エラー」があった場合は、次の手順を使用して解決できます。

https://productforums.google.com/forum/#!topic/play/ey7qIRBYj-o

「Google Play Servicesが停止しました」というメッセージを常に受け​​取ったときの気持ちを知っています。この問題を解決するには、Google Play Services([設定]> [アプリ]または[アプリケーションマネージャ]> [Google Play Services]> [キャッシュをクリア]> [OK])およびGoogle Playストアのキャッシュをクリアすることをお勧めします。キャッシュをクリアしたら、デバイスを再起動して機能しているかどうかを確認します。

0
Boni2k

同じ問題があった。 Google Playサービスをgradleから更新してから確認してください。役立つかもしれません。もう1つ、最新のgradleバージョンを使用し、ターゲットを17以上に設定してください。

0
parik dhakan