Google Play App Signing有効化して、脱apk->aabにする際にハマったポイント


GooglePlayAppSigningについて

注意!:GooglePlayAppSigningを有効にすると戻せないので注意!

めちゃくちゃ推奨してくるこれです。

僕の場合は、既存アプリをアップデートする際に、「Googleでアプリ署名鍵を管理」を有効にしました。

有効にするとこんな感じ。

@rkowase さんのサイトがとても参考になりました!
https://qiita.com/rkowase/items/90cdc4e8c6fc449d8276
普通はそのサイトを参考にしていれば問題ないかと思いますが、
公式サイト見ながらやっていたのですが、全体像がさっぱり入ってこず、とりあえず流れでやってしまっておりました。
なので、そこらへんはスルーします。。

で、ぶつかったのがこのエラー

Android App Bundle が誤った鍵で署名されています。 app bundleを正しい署名鍵 (SHA1:〜〜〜)で署名して、もう一度お試しください。

、、、、汗

$ keytool -list -v -keystore upload-keystore.jks 

該当のSHA1:〜を確認。


※赤い部分を照らし合わせる

・・・・・・
一致してる。。

・・・
原因がわからなくなってしまい、

心当たりがある、.keystore .jks .pem .derファイル を片っ端から、
Android Studioで指定して、
aabファイルや
apkファイル(v1やv2、v1&v2両方)、
をチェックしたり、
build.gradleでkeystoreを指定したり。。。
それでもだめ。

何か手順を間違えたかで証明書がおかしいんじゃないかと思い。

Googleさんにアップロード鍵のリセットで、問い合わせ、、、!泣 m( _ _ )m
しかも2回もしちゃいました。。(新しい鍵が有効になるまで2日ぐらいあける必要がありました。

色々しらべて、、
aabファイルの署名って確認できないかなと、思ったらこういうコマンドがあったのね。。。!!!w

$ keytool -list -printcert -jarfile app/release/app.aab 

printcert神!

で内容を確認してみると!

署名と違う。。
よくみると以前つかっていた、keystoreの署名になっている。。。!

そういえば、Android Studio、出力ばっかりやってて、
クリーンアップしてなかったなと思い、、Clean Project。。。!

で、再度aabファイルを出力してみると、、、!

新しい署名に更新されてました!!!

長期戦、疲れた。。w

便利コマンドTIPS

keystoreファイルの内容を確認するコマンド

$keytool -list -v -keystore upload-keystore.jks 

aabファイルの署名を確認するコマンド

$ keytool -list -printcert -jarfile app/release/app.aab 

署名がない、aabファイルを署名するコマンド

$ jarsigner -verbose -keystore upload-keystore.jks ./app/release/app.aab alias

※ちなみに既に署名がある場合に署名を追加してしまうと、google playにアップする際に署名を1つにしてエラーになります。

参考にさせて頂いたサイト

※aabファイルを実機テスト(DeployGateにあげれなかったので)
https://qiita.com/ikemura23/items/9b6064cb123edc1e233f