Android Studioでリリース版のAPKやAABをビルドした際に、「Execution failed for task ‘:app:validateSigningRelease’」というエラーが表示され、ビルドに失敗することがあります。
エラー内容
Execution failed for task ':app:validateSigningRelease'.
このエラーは、リリースビルドで使用する署名設定をGradleが検証できなかった場合に発生します。多くの場合、keystoreの場所、alias、パスワード、またはsigningConfigの設定に問題があります。
原因1:keystoreファイルの場所が間違っている
まず、build.gradleまたはbuild.gradle.ktsで指定しているkeystoreファイルのパスを確認します。ファイルを移動した場合や、別のPCからプロジェクトをコピーした場合は、以前のパスが残っていることがあります。
エラーログに「Keystore file ~ not found for signing config ‘release’」と表示されている場合は、keystoreのパスが正しいかを重点的に確認してください。
原因2:keyAliasが間違っている
keystore内に登録されているaliasと、署名設定で指定しているkeyAliasが一致している必要があります。別のkeystore用のaliasを設定していないか確認します。
原因3:storePasswordまたはkeyPasswordが間違っている
storePasswordやkeyPasswordが正しくない場合も署名の検証に失敗します。環境変数やkeystore.propertiesから読み込んでいる場合は、値が正しく取得できているかも確認します。
パスワードや秘密鍵などの署名情報を、公開リポジトリへ直接コミットしないよう注意してください。
原因4:releaseのsigningConfigが正しく設定されていない
releaseビルドが正しい署名設定を参照しているか確認します。buildTypesのreleaseで、意図したsigningConfigが指定されていない場合があります。
原因5:keystoreファイル自体に問題がある
keystoreファイルが破損している、別形式のファイルを指定している、必要な鍵が含まれていないといった場合にもエラーになることがあります。Android Studioの署名付きAPK/App Bundle作成画面で、同じkeystoreを選択して正常に読み込めるか確認します。
解決手順
- エラーログの
validateSigningReleaseより後に表示されている詳細メッセージを確認します。 - keystoreファイルが指定した場所に存在するか確認します。
storeFile、storePassword、keyAlias、keyPasswordを確認します。- releaseの
signingConfigが正しい設定を参照しているか確認します。 - Gradle Syncを実行します。
- Clean ProjectまたはRebuild Projectを実行し、再度リリースビルドします。
ポイント:「Execution failed for task ‘:app:validateSigningRelease’」はエラーの大分類です。実際の原因は、その直後に表示される「Keystore file ~ not found」「password was incorrect」などの詳細メッセージから判断します。
まとめ
「Execution failed for task ‘:app:validateSigningRelease’」が表示された場合は、リリース署名に使用するkeystoreとGradleの署名設定を確認します。特にkeystoreのパス、alias、storePassword、keyPassword、releaseのsigningConfigの5点を順番に確認すると原因を切り分けやすくなります。
