サーバーからの情報の取得中にエラーが発生しました。[RPC:AEC:0] | むるしすてむ

サーバーからの情報の取得中にエラーが発生しました。[RPC:AEC:0]

Google PLAYに登録したapkをインストールしようとしたらエラーが出て入れられなかったのでメモ。

Google PLAYアプリのエラーメッセージ
サーバーからの情報の取得中にエラーが発生しました。[RPC:AEC:0]

このエラーが出る理由は色々あるようですが、
今回は同じアプリの開発用デバッグビルドapkを先に入れていたのが問題のようでした。

デバッグ用のapkは事前にアンインストールしていましたが
一度デバッグapkを入れていると電子署名の関係なのかうまくインストール出来なくなるようです。
PLAYアプリのキャッシュ削除なども試しましたがダメでした。

(追記:最終的にデバッグビルドが原因か明確に判断できませんでした。経緯を残しておきます。)

この症状が出たのはAndroid 2.3と4.0の端末です。
2.1の端末ではGoogel PLAYのバージョンが違うからかこの現象は起こらずすんなりインストールできます。

これは開発していれば誰もが引っかかるのではないかと思うのですが
日本サイトにはあまり情報がなく海外の情報と色々試した結果以下で回避しました。

■ブラウザからインストール
PCブラウザのPLAYサイトからならリモートでインストール出来ます。
PLAYアプリを経由するとエラーになるのでアプリに問題があるようです。
なので、リモートインストールした後すぐにアンインストールし、再度アプリからインストールしようとしても残念ながら同じエラーになります。
色々試した結果、一度PLAYサイトからインストールし、apkの登録を更新してPLAYアプリからバージョンアップするとうまくいきました。
その後はアプリから再インストールしてもエラーは起こっていません。
ただし、バージョンアップの時に同じエラーが一度だけ出たのでこの方法は完璧ではないかもしれません。

■Googleアカウントの初期化
こちらのほうが手っ取り早いですが、端末のGoogleアカウントを一度削除して再度ログインすればエラーはなくなります。
場合によっては端末の初期化が必要になるのでプラベートな端末の場合最後の手段です。

検索用に英語の場合エラーメッセージはこれです。
error retrieving information from server. [RPC:AEC:0]


追記:上記のどちらの方法もダメな時もあるようです。初期化してもインストールできないし、PCサイトからリモートで入れてもアップデートで失敗する。端末によってはまったく問題ないのにapkの何かがわるいのかもしれません。

追記:急にエラーなく更新できるようになりました。apkアップロードから12時間後ぐらい。特になにかしたわけではないですが、定期的に更新を試していたところ突然ダウンロードが開始されました。ストアの表示上はバージョンが変わっているけどapkの用意がまだ出来てなかったのかもしれません。ストアへの反映はPCのPlayサイトのほうが早いようですし、Googleのサーバー上でどのような公開プロセスが行われているかわかりませんが「待つ」のも重要かもしれませんね。

追記:上記の後またapkのバージョンアップをしましたがやはり更新で同エラーがでました。今回もやはりある程度時間が経過するとエラーができなくなりました。
■アップロードから更新までの流れ
・ストアにapkをアップロード
・およそ3時間後ストアに反映され「更新」ボタンが押せるようになる
・この時Android2.3、4.0の端末からは更新エラーが出る。2.1は問題なく更新可。PCストアからのリモートアップデートは2.3、4.0ともに可能。
・その後Android2.3で30分おきぐらいに更新を試行。エラーが続く。
・apkアップロードからおよそ7時間後、突然エラーなく更新が完了。
・2.3更新成功後、すぐに4.0でも更新を試すと問題なく更新が完了。

このことから端末側とapk自体には特に問題はなく、ストア側の問題なような感じがします。
ストアの処理仕様はわかりませんが、apkの公開プロセスが「PCサイト用」「2.1系」「2.3、4系」で違いがあるように思います。(あくまで推測です。他の1.6や2.2は試していないのでわかりません。)
ただ、他のアプリでこのようなエラーになったことはないのでストアの反映に必ず時間がかかるわけでもありません。結局明確に原因はわかりませんがとりあえず今回の症状は「待つことで解消される」ようです。

追記:結論。apkのビルドとか関係ない!何回も試す。ひたすら待つ。「サーバーが混み合ってて公開処理が間に合って無い」というのが正解だと思います。ただひたすら祈りながら待ちましょう。Android開発は忍耐です。