Build Issues : .AAB SHA1 Does Not Match Keystore after Build

Hi There,

I’m a bit of an amateur, so apologies if this comes across as daft.

I uploaded an app to Google Play store a while back, and I saved the keystore and password information associated with that upload so that I could update the app later if need be.

I’m trying to update it now, and despite using the same keystore to build - the SHA1 signatures do not match after I download the build from Expo, and Google Play is not accepting the upload.

Note: I tried to upload images but it would only let me upload one.
So, just imagine that I’ve included screenshots showing that my keystore signature matches the upload keystore signature on google play, but the fingerprint of the .aab file downloaded from Expo after build does not match.

Then, when I try to upload the .aab to Google Play it gives me an error stating that the wrong key has been used.

image

I’ve exhausted google search on this one, out of suggestions i’ve seen the Name in app.json is unchanged, and the package is unchanged as well. Not sure what’s going on. Anyone have any suggestion for what I might be missing here?

Thanks in advance for any ideas.

Hi

Can you try providing this keystore again with
EXPO_LEGACY_API=true expo build:android -c ?

Check before and after the output of expo fetch:android:hashes , after the build has started hash should change and match the value from play console.

1 Like

I’m trying that now.

The hash looks correct with the EXPO_LEGACY_API=true prepend step, I will wait for build to finish then try uploading once more to Google Play and see what it says - but this looks promising! Will let you know…

What is the rationale behind this? I.e. why does the LEGACY_API env preserve my original fingerprint?

We switched to new implementation of our api and it seems there is bug there, when you run previously credentials were cleared but not replaced with what you specified.
When worker gets job without credentials it will generate new keystore and insert it in db.
With LEGACY_API env you are connecting to old API that works correctly.

1 Like

It worked!

Man, that had me scratching my head… I spent way longer trying to get that working than I should have. I was starting to get concerned I’d have to make a new app listing and start over.

Thanks for the help, and the explanation as well… much appreciated!

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