[Flutter/Android]既存のアプリへのGoogle Play App Signingの設定方法6ステップ

Androidアプリの新しい署名方式である「Google Play App Signing」の設定方法のご紹介です。

Google Playに新規にapkファイルをアップロードする前に設定するのは簡単なのですが、既存のアプリ(すでにapkファイルをGoogle Playにアップロードしたアプリ)については、コマンドラインツールを使う必要があるのでちょっと手順がややこしくなっています。

 

「Google Play App Signing」とは

Androidアプリの新しい署名方式。

これまでは、開発者がapkファイルをGoogle Playにアップロードする際に作成した署名を、Google Playからユーザーに配信する段階でも使っていました。

Google Playから配信されたアプリの署名を変更することは出来ませんので、これは、リリース済みのアプリを更新するために必要な署名を開発者が管理することを意味しています。つまり、この署名をなくしてしまったら、アプリを一切更新できなくなるのです。

blank

 

これを「Google Play App Signing」では、後者部分を別の署名にして、開発者ではなくユーザーが管理するようにしました(Upload KeyをApp Signing Keyから分離し、後者をGoogle先生が管理)。

これによって、最初にapkファイルをアップロードした段階で「App Signing Key」が固定され、Google先生が管理してくれるようになりますから、開発者は「Upload Key」をなくしても、再作成すればアプリの更新を行えるようになり、安全性が高まりました。ただし、一旦「Google Play App Signing」を採用したら、元に戻すことが出来ません。

blank

 

既存のアプリに「Google Play App Signing」を設定する方法6ステップ

これから新しくapkファイルをGoogle Playにアップロードする場合は、ここをポチッと押してあげればおしまいなのですが、

blank

 

既存のアプリ(リリースしていなくても署名付きapkファイルを一度でもアップロードしたアプリ)に「Google Play App Signing」を設定するのはちょっとややこしいです。

やることは、既にアップロードした際に使った署名ファイルを暗号化してGoogle Playに「App Signing Key」としてアップロードした上で、アップロード用に署名(Upload Key)を再作成することになります。

1.Google Play Consoleから「アプリの署名」ページを開き、PERKツールをダウンロード

blank

 

このときに、①ダウンロードしたPEPKツールと、②既に作ったアプリの署名ファイルを同じフォルダに入れておくと、コマンドラインツールを使う時に便利です(動画の解説ではデスクトップに「pepk」フォルダを作って、①と②を入れておきました)。

 

2.コマンドラインツールを使って、アップロード時に設定した署名ファイルを暗号化

Windowsの場合はMS-DOSかPowerShellで、Macの場合はTerminalを使います。

1.「cd」コマンドを使って、①PEPKツールと②アプリの署名ファイルを入れたフォルダに移動

cd C:\Users\ユーザー名\Desktop\pepk

 

2.Google先生のページにあるコマンドを打ち込む

java -jar pepk.jar 
--keystore=【A】 
--alias=【B】 
--output=【C】 
--encryptionkey=eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a

【A】:②の署名ファイルのパス(例: C:\Users\ユーザー名\Desktop\pepk\署名ファイル名.jks)

【B】:②の署名ファイルの別名(alias)

blank

【C】:②の署名ファイルを暗号化したファイルの出力先のパス(例:C:\Users\ユーザー名\Desktop\pepk\出力ファイル名.pem)⇒ 拡張子に「pem」をつけること!

 

3.2で暗号化した署名ファイルをGoogle Playにアップロード

blank

 

4.Android Studioで新しい署名ファイルを作成(Upload Key)

Build ⇒ Generate Signed APKから、最初に作った署名ファイルと同じ方法で新しい署名ファイルを作ります。

 

5.コマンドラインツールを使って4で作成した署名ファイル(Upload Key)から証明書ファイルを作成

keytool -export -rfc -keystore 【A】 -alias 【B】 -file 【C】

【A】:4で作った新しい署名ファイル

【B】:4で作った新しい署名ファイルの別名

【C】:このコマンドラインツールで作成する証明書のファイル名(例:upload_certificate.pem)⇒ 拡張子に「pem」をつけること!

 

6.5で作成した証明書をGoogle Playにアップロード

blank

 

これで、App Signing Keyは以後Google先生が管理してくれますので、Upload Keyをなくしても、再作成すれば、アプリのアップデートが出来るようになります。

ただし、Upload Keyを再作成するだけではダメで、Google先生に連絡してOKをもらわないといけないそうです。

サポートチームが鍵のリセットのリクエストを受け付けるのは、Play Console アカウントの所有者からのみです。

アカウント所有者はこちらのフォームに必要事項を入力してご連絡ください。その際は、必ず upload_certificate.pem ファイルを添付してください。

Google で新しいアップロード鍵を登録した後、メールが送信されます。その時点で、上記の手順に沿ってキーストアと API プロバイダの登録を更新できます。

(詳しくは下の動画で解説していますので、よろしければご覧ください)

blank

こんな記事も読まれています

今すぐプレゼントを受け取る(約6時間のFlutter初級編体験版動画講座を無料でプレゼント)
blank

はじめての方へ

blank
みんプロ式プログラミング講座体系・ラインナップ
みんプロ式プログラミング講座受講の流れ(割引特典利用方法)
サイトマップ(みんプロHPコンテンツ一覧)
運営会社概要

おすすめコンテンツ

プログラミングを学ぶとどんないいことがあるのか
みんプロ式を選んでいただける6つの理由
ぼくの人生挫折ヒストリー(代表者プロフィール)
ぼくのプログラミング挫折ヒストリー(無料メール講座・6大特典付き)
今最も注目のアプリ開発ツール「Flutter(フラッター)」ミニ動画講座

みんプロ作成アプリ

blank
blank
blank
blank
blank

みんプロ式動画講座(コア・Flutter)

ゼロからのFlutter(初級編)-はじめてのプログラミングからアプリリリースまで-
Flutter中級編1-Web通信・設計・状態管理・DIの基礎-
Flutter中級編2-Firebase/地図・カメラ連携等の基礎-
Flutter中級編3-広告/アプリ内課金等の基礎-
Flutter中級編4-Webアプリとレスポンシブデザインの基礎-

みんプロ式動画講座(サテライト)

Flutter/Dartトラブルシューティング・小ネタ集(コア初級編受講で無料プレゼント)
ゼロからのGit・GitHub(コマンドラインツールを極力使わないバージョン管理入門)
Flutter/Dartにおける設計・状態管理・DIの解説集
Dart逆引き大辞典
Flutterにおけるテストの基礎
blank
blank

TOP