There is no valid Keystore defined for this app

Sdk: 35
Build id: 538bf543-0096-4208-8b08-5a5fdf9a7fde
Expo-cli: latest version

Cannot fetch android jks (expo fetch:android:keystore)

Got error: There is no valid Keystore defined for this app

I tried on several applications.

Need help!

4 Likes

I have experienced a similar issue today.

1 Like

did anyone able to resolve this ? I’m getting the same error even I can’t download upload certs it returns below error

There is no valid Keystore defined for this app
Writing upload key to /Users/userName/workspace/app/app_upload_cert.pem
keytool exited with non-zero code: 1
Set EXPO_DEBUG=true in your env to view the stack trace.
2 Likes

Same error for me. Unable to update any app (I get “wrong fingerprint error inside play store”). Nobody seems to respond to this issue

Could you please provide some more details that could help isolate the issue? Testing with an existing app, expo fetch:android:keystore and expo fetch:android:upload-cert both work as expected, so perhaps there is an edge case that some people are encountering.

A few things to check are:

  • Are you logged in with the account that owns the project?
  • Has this command worked for you in the past?
  • Has it previously worked with the version of Expo CLI you’re currently using?
  • Is this a new project or an older one for which you’re certain there was a valid keystore? This helps isolate whether there is actually an issue with credential creation or if there actually is a problem with retrieval.

I’m having a similar issue.

  • logged in correctly
  • no, this is a new project
  • no
  • new project but I’ve built an app on Expo and selected to have Expo generate a keystore for me. In the logs on the dashboard it says:
Creating keystore
Keystore created successfully
Keystore sent to storage successfully

Any ideas?

@ide,

  • Are you logged in with the account that owns the project? Yes
  • Has this command worked for you in the past? Yes
  • Has it previously worked with the version of Expo CLI you’re currently using?
  Expo CLI 3.11.3 environment info:
    System:
      OS: macOS 10.15.2
      Shell: 5.7.1 - /bin/zsh
    Binaries:
      Node: 8.16.1 - ~/.nvm/versions/node/v8.16.1/bin/node
      Yarn: 1.19.1 - /usr/local/bin/yarn
      npm: 6.4.1 - ~/.nvm/versions/node/v8.16.1/bin/npm
      Watchman: 4.9.0 - /usr/local/bin/watchman
    IDEs:
      Android Studio: 3.5 AI-191.8026.42.35.5900203
      Xcode: 11.2.1/11B500 - /usr/bin/xcodebuild
    npmGlobalPackages:
      expo-cli: 3.11.3
  • Is this a new project or an older one for which you’re certain there was a valid keystore?
    Previously I was able to fetch keystore from expo server, but yesterday when I tried to build the app again it returned an error (https://expo.io/builds/af963271-d61d-475f-bc74-7c5c0e238c8e). Then I had no option and cleaned credentials and rebuild the app with expo handle, build was success but when I tried to fetch keystore or upload cert it is returning above errors

Now I can’t release an update to play store it returns below error
“You uploaded an APK that is not signed with the upload certificate. You must use the same certificate. :”
Please help me

  1. absolute new project
  2. project was already submitted to Google Play Store (with activated Google App Signing) but without calling the “expo opt-in-google-play” command
  3. Always chosen “Let expo handle it” (never myself)

After trying to update the binaries (due to changes inside the app.json and the broken Keyboard on Android on SDK 36), I got the message, that the fingerprint is wrong. Trying to fetch hashes or upload:cert always ends in the error.

I requested an upload key reset on Google now and they already answered. I build a new binary, this time I generated an upload cert and “jks” myself and chosen to use my own credentials. I build the App-Bundle with --clear-credentials / -c. Now I have to wait for Google to update my provided .PEM file. But it should work afterwards.

If I try to fetch the upload key now, it works, but it’s just pointless, as its only returning my OWN upload cert back to me, which might be useful in case if I lose it, but I needed it before I generated one myself. I don’t know if this is expected or bad documented.

Hope this is gonna help you folks. But for me, as a new EXPO user, this was right a way a terrible first start using the CLI and let Expo handle it, because it failed HARD right after my first try to update a binary.

  Expo CLI 3.11.3 environment info:
    System:
      OS: macOS 10.14.6
      Shell: 3.2.57 - /bin/bash
    Binaries:
      Node: 10.16.3 - /usr/local/bin/node
      Yarn: 1.13.0 - /usr/local/bin/yarn
      npm: 6.13.2 - ~/Gitlab/nightstomp/netstar/nummernschild-app/bin/npm
      Watchman: 4.9.0 - /usr/local/bin/watchman
    IDEs:
      Android Studio: 3.5 AI-191.8026.42.35.5977832
      Xcode: 11.3/11C29 - /usr/bin/xcodebuild
    npmPackages:
      expo: ^36.0.0 => 36.0.0 
      react: 16.9.0 => 16.9.0 
      react-native: https://github.com/expo/react-native/archive/sdk-36.0.0.tar.gz => 0.61.4 
      react-navigation: ^4.0.10 => 4.0.10 

We believe this issue has been fixed and that regenerating credentials will address the issue. Projects that didn’t have this issue should be unaffected.

We found there was an issue with saving credentials, so when commands like “expo fetch:android:keystore” looked for credentials and found none, that was actually the case. Saving credentials should now be fixed, so after regenerating or reuploading them, they should now be saved successfully so they can be fetched.

It appears fixed for me.

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