Androidアプリ開発で、署名付きapkをdebugビルドで作成する手順
keytoolで署名書の作成
適当なディレクトリへ移動して以下実行する。
zsh
keytool -list -v -keystore ~/.android/debug.keystore \
-alias androiddebugkey \
-storepass android \
-keypass android
以下の出力メッセージが表示されるので、必要なフィンガープリントなどをメモしておく(SquareのPOS API開発では、SHA1の情報が必要になる)。
標準出力
Alias name: androiddebugkey
Creation date: Apr 11, 2024
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: C=US, O=Android, CN=Android Debug
Issuer: C=US, O=Android, CN=Android Debug
Serial number: 1
Valid from: Thu Apr 11 09:12:11 JST 2024 until: Sat Apr 04 09:12:11 JST 2054
Certificate fingerprints:
SHA1: 3E:14:F8:29:F0:42:2E:0A:F0:B8:48:C4:51:4B:7C:27:59:7F:61:0D
SHA256: EA:91:DF:9C:1D:43:24:0A:2C:31:95:6F:0A:6A:29:A6:B2:B1:7B:AE:BB:E1:EF:8C:47:63:3E:94:06:EB:CB:FF
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 2048-bit RSA key
Version: 1
エラー対処
以下のようなエラーが出た場合は、~/.android/debug.keystoreが存在するかどいうか確認する。
標準エラー
keytool error: java.lang.Exception: Keystore file does not exist: debug.keystore
java.lang.Exception: Keystore file does not exist: debug.keystore
at java.base/sun.security.tools.keytool.Main.doCommands(Main.java:923)
at java.base/sun.security.tools.keytool.Main.run(Main.java:423)
at java.base/sun.security.tools.keytool.Main.main(Main.java:416)
もしも~/.android/debug.keystore が存在しない場合は、Android Studioでアプリを一度ビルドすることでdebug.keystoreが生成される。
署名付きでdebugビルドする
Android Studioのメニューから、Build → Generate Signed Bundle / APK... → APK を選択してダイアログを入力する。
項目 | 値 |
---|---|
Key store password | android |
Key alias | androiddebugkey |
Key password | android |
※keytoolコマンドで入力した情報を元にする。
debugを選択して実行する。その後、普通にビルド、デプロイすれば、署名付きで実行される。
関連記事
アイデアノート > Androidアプリ開発