Androidアプリをインストールしようとすると504エラーが返ってくる時の対処方法

めっちゃ間空いた。反省しまくり。

今日のお題はAndroidアプリをインストールしようとした時に504エラーが返ってきてインストールできなかったっていうお話。
この事例はエンジニアさんから聞いて自分で直したのであまり詳しくは書けていないかもしれないけれども直せはしたので残しておく。

エラーログはこんな感じ

05-04 09:44:23.111 2189-2302/? E/PackageInstaller: Commit of session 1230277521 failed: Failed to collect certificates from /data/app/vmdl1230277521.tmp/{アプリのurlみたいなやつ}.android: META-INF/CERT.SF indicates /data/app/vmdl1230277521.tmp/{アプリのurlみたいなやつ}.android is signed using APK Signature Scheme v2, but no such signature was found. Signature stripped?
> 05-04 09:44:23.120 4766-4766/? E/Finsky: [1] com.google.android.finsky.installer.an.onReceive(22): Error -504 while installing {アプリのurlみたいなやつ}.android: INSTALL_PARSE_FAILED_NO_CERTIFICATES: Failed to collect certificates from /data/app/vmdl1230277521.tmp/{アプリのurlみたいなやつ}.android: META-INF/CERT.SF indicates /data/app/vmdl1230277521.tmp/{アプリのurlみたいなやつ}.android is signed using APK Signature Scheme v2, but no such signature was found. Signature stripped?

Google Play Store側の画面には
「アプリをインストールできない
〜をインストールできません。もう一度お試しいただいても問題が発生する場合はトラブルシューティングをご覧ください(エラーコード:-504)。」

と表示されている。

原因

正直Android studioを殆ど触ったことがないのでエラーメッセージを調べていくしかなかったのだけど、どうもリリースビルドに使った署名が原因らしい。

エラーメッセージには

「アプリ名 is signed using APK Signature Scheme v2, but no such signature was found. Signature stripped?」

と表示されており、google 翻訳によると

「アプリ名はAPK署名方式v2を使用して署名されていますが、そのような署名は見つかりませんでした。署名が剥奪されましたか?」

と表示されている。

解決方法

これが正しい方法なのかはわからないけれども、Android Studioのビルドにおいて
Build > Generate Signed APK…
からこの画面でV2のチェックを外しておけば直った。V2の署名方式を使わなければこのエラーは回避できるということなのだけど、このやり方が良いのかはわからない。

これの問題解決した後自分でクローズドベータ版の公開、製品版までの公開をやった。GoogleのConsoleはなかなか見やすいし、公開までの時間が圧倒的にiOSより早い。いいな。

この記事が気に入ったら
いいね ! しよう