【Android】Execution failed for task ‘:app:validateSigningDevDebug’.

ReactNative

はじめに

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

コメント