はじめに
ReactNativeアプリの運用の中で「Execution failed for task ‘:app:validateSigningDevDebug’.」というエラーに遭遇したので記録を残します。
解決策
参考:https://stackoverflow.com/questions/42353936/keystore-file-errorexecution-failed-for-task-appvalidatesigningrelease
keystoreファイルの作成
エラーを見たところ、keystoreファイルがなさそうだったので作成する。
keytool -genkey -v
↑のコマンドを押下したらあとは質問に答えていく。
姓名は何ですか。
[Unknown]: Kobayashi Taro
組織単位名は何ですか。
[Unknown]: GroupName
組織名は何ですか。
[Unknown]: CompanyName
都市名または地域名は何ですか。
[Unknown]: Shibuya-ku
都道府県名または州名は何ですか。
[Unknown]: Tokyo
この単位に該当する2文字の国コードは何ですか。
[Unknown]: JP
CN=Name, OU=GroupName, O=CompanyName, L=Shibuya-ku, ST=Tokyo, C=JPでよろしいですか。
[いいえ]: Y
ログに作成されたディレクトリが表示されているので、該当のディレクトリに移動し生成されたキーストアを確認する。
keytool -v -list -keystore my-upload-key.keystore
キーストアのパスワードを入力してください:
キーストアのタイプ: jks
キーストア・プロバイダ: SUN
キーストアには1エントリが含まれます
別名: XXXX
作成日: 2023/07/04
エントリ・タイプ: PrivateKeyEntry
証明書チェーンの長さ: 1
証明書[1]:
所有者: CN=XXX, OU=XXX, O=XXX, L=XXX, ST=XXX, C=XXX
発行者: CN=XXX, OU=XXX, O=XXX, L=XXX, ST=XXX, C=JP
シリアル番号: XXX
有効期間の開始日: Tue Jul 04 12:47:01 JST 2023 終了日: Mon Oct 02 12:47:01 JST 2023
証明書のフィンガプリント:
MD5: FXXX
SHA1: XXX
SHA256: XXX
署名アルゴリズム名: 2048ビットDSA鍵
サブジェクト公開鍵アルゴリズム: 3
バージョン: {10}
拡張:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 74 F2 C3 DE D1 47 A4 EA CB 94 B8 A9 1D 6F 3C 83 t....G.......o<.
0010: 39 B5 23 4B 9.#K
]
]
*******************************************
*******************************************
作成されていることが確認できたら、任意のディレクトリに.keystoreファイルを移動し、gradle.propertiesを作成したファイルが読み込めるように設定し、
MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore
MYAPP_UPLOAD_KEY_ALIAS=my-key-alias
MYAPP_UPLOAD_STORE_PASSWORD=password
MYAPP_UPLOAD_KEY_PASSWORD=password
再度
./gradlew cleanBuildCache
を実施して
./gradlew build
を実施する。
今度はNo key with aliasとエラーが出た・・・
No key with alias
エイリアスが違うって?
再度keystoreファイルを確認する。
keytool -v -list -keystore my-upload-key.keystore
キーストアのパスワードを入力してください:
キーストアのタイプ: jks
キーストア・プロバイダ: SUN
キーストアには1エントリが含まれます
別名: mykey
作成日: 2023/07/04
エントリ・タイプ: PrivateKeyEntry
証明書チェーンの長さ: 1
証明書[1]:
所有者: CN=XXX, OU=XXX, O=XXX, L=XXX, ST=XXX, C=XXX
発行者: CN=XXX, OU=XXX, O=XXX, L=XXX, ST=XXX, C=JP
シリアル番号: XXX
有効期間の開始日: Tue Jul 04 12:47:01 JST 2023 終了日: Mon Oct 02 12:47:01 JST 2023
証明書のフィンガプリント:
MD5: FXXX
SHA1: XXX
SHA256: XXX
署名アルゴリズム名: 2048ビットDSA鍵
サブジェクト公開鍵アルゴリズム: 3
バージョン: {10}
拡張:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 74 F2 C3 DE D1 47 A4 EA CB 94 B8 A9 1D 6F 3C 83 t....G.......o<.
0010: 39 B5 23 4B 9.#K
]
]
*******************************************
*******************************************
ありました。「別名: mykey」
この別名設定したつもりないんだけどなぁ・・・と思いつつ再度gradle.propertiesの設定を修正する
MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore
MYAPP_UPLOAD_KEY_ALIAS=mykey
MYAPP_UPLOAD_STORE_PASSWORD=password MYAPP_UPLOAD_KEY_PASSWORD=password
コメント