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

 

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

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

 

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

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

 

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

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

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

 

このときに、①ダウンロードした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)

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

 

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

 

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にアップロード

 

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

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

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

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

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

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

アバター

北川 博之(きーぼー)

みんなのプログラミング by Telulu LLC代表 大阪府生まれ。京都大学経済学部経済学科卒業。 2000年より、日本生命保険、ニッセイアセットマネジメント、パトナム・インベストメンツ(米国)で、日本株トレーダー・アナリスト、経営企画、システム開発等の業務に従事。主に日本株の売買執行・投資分析、経営計画の策定、海外投資家向け日本株営業、社内トレーディングシステム及び経理システムの開発等を行う。 2016年、合同会社てるる設立。スマホアプリプログラマーとして「新感覚脳トレアプリ・記憶戦隊オボエルンジャー」「Meisoー1番シンプルなマインドフルネス瞑想アプリ」をはじめとした、メンタルヘルス・知育系アプリを中心に4タイトル・計8本(Android・iOS)をリリース。 2017年、自身のこれまでの社会人経験・プログラミング経験・子育て経験を基に、プログラミングを通じて人々の人生を豊かにして、未来に希望の持てる明るい社会の実現に貢献したいとの想いから、プログラミング完全初心者と挫折経験のある人を支援する「プログラミング挫折撲滅プロジェクト・みんなのプログラミング by Telulu LLC」を設立し、プログラミングサポーター活動と心理カウンセリング活動を開始。これまでに3,000名を超える方のプログラミング挫折撲滅をサポート。

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

みんプロにかける想い

  1. プログラミングはみんなのもの!(プログラミングの醍醐味である「楽しさ」を伝えたい)

  2. トランプ政権2期目に起こるIT業界激震予想(前編:スマホの世界の構造問題に荒療治が行われる可能性)

  3. ぼくが別に言う必要のない挫折の黒歴史をあえてさらけ出している理由(自分の中にある「ブロック」を外すきっかけにしてほしい)

  4. プログラミングは手段の1つに過ぎない(目的は自分のアイデアを形にすること)

  5. トランプ政権2期目に起こるIT業界激震予想(後編:ブロックチェーンによるインターネットの再民主化が行われる可能性)

みんプロ作成アプリ




みんプロ代表の黒歴史


TOP