build:android failed - Execution failed for task ':app:signReleaseBundle'.

My android build started failing with the above error at some point. Unfortunately, I don’t remember what was the initial cause of it.

In any case, I tried running expo build:android -c and it finishes successfully. But when I replace the keystore using expo credentials:manager with the one that I have backed up (a .jks file) - I get the above error again.

It feels like expo is not propagating the new keystore into the build system correctly.

And yes, I checked that my keystore is valid and in the JKS format:

> keytool -list -keystore ./app.jks

Enter keystore password: *****
Keystore type: jks
Keystore provider: SUN

Your keystore contains 1 entry

app-key, Feb 8, 2021, PrivateKeyEntry,
Certificate fingerprint (SHA1): 68:...:73

Warning:
The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore ./zohar-reader.jks -destkeystore ./zohar-reader.jks -deststoretype pkcs12".

EXPO CLI DIAGNOSTICS:

Expo CLI 4.3.2 environment info:
    System:
      OS: macOS 10.15.7
      Shell: 5.7.1 - /bin/zsh
    Binaries:
      Node: 12.18.0 - ~/.nvm/versions/node/v12.18.0/bin/node
      npm: 7.6.3 - ~/.nvm/versions/node/v12.18.0/bin/npm
    Managers:
      CocoaPods: 1.10.0 - /usr/local/bin/pod
    SDKs:
      iOS SDK:
        Platforms: iOS 14.4, DriverKit 20.2, macOS 11.1, tvOS 14.3, watchOS 7.2
      Android SDK:
        API Levels: 30
        Build Tools: 30.0.2
        System Images: android-30 | Google APIs Intel x86 Atom, android-30 | Google Play Intel x86 Atom
    IDEs:
      Android Studio: 4.1 AI-201.8743.12.41.7042882
      Xcode: 12.4/12D4e - /usr/bin/xcodebuild
    npmPackages:
      expo: ^40.0.1 => 40.0.1
      react: 16.13.1 => 16.13.1
      react-dom: 16.13.1 => 16.13.1
      react-native: https://github.com/expo/react-native/archive/sdk-40.0.1.tar.gz => 0.63.2
      react-native-web: ~0.13.12 => 0.13.18
    npmGlobalPackages:
      expo-cli: 4.3.2
    Expo Workflow: managed

keytool output is showing that there is alias app-key in there, but in your latest build is trying to access alias zreader-key. Are you sure you passed the correct value there?

Yes, the alias is zreader-key, I just redacted it in the post )
If you wish, I can send the .jks file to you to see if it’s correct.

If alias is correct there is a possibility that alias password is incorrect. You can verify it with any keytool command that requires that password e.g. keytool -changealias

You can also check output of expo fetch:android:keystore whether file and values printed to the terminal match what you provided in credentials manager

2 Likes

You’re absolutely right, I did make a mistake in the alias password when I submitted the Keystore to the credentials manager. I was able to recover the password, resubmit the Keystore and now the build passes without any issues. Thanks a lot! :slight_smile:

Although, it is kind of unexpected behaviour that the credentials manager doesn’t check the alias password and just submits it to the build system as is.

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.