サイトロゴ

Androidアプリ開発で、署名付きapkをdebugビルドで作成する手順

著者画像
Toshihiko Arai

keytoolで署名書の作成

適当なディレクトリへ移動して以下実行する。

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のメニューから、BuildGenerate Signed Bundle / APK...APK を選択してダイアログを入力する。

項目
Key store password android
Key alias androiddebugkey
Key password android

※keytoolコマンドで入力した情報を元にする。

debugを選択して実行する。

その後、普通にビルド、デプロイすれば、署名付きで実行される。

関連記事