Problem with buildung standalone Android APP (Sertificate changed)

Any time when i start building standalone application i have message “No currently active or previous builds for this project.”
I have builded my first and second version of application successfully and have uploaded it to Google Play. But when i have started building third version of application and tried to upload it in Google Play i have error

Upload failed
You uploaded an APK that is signed with a different certificate to your previous APKs. You must use the same certificate.
Your existing APKs are signed with the certificate(s) with fingerprint(s):
[ SHA1: XXX ]
and the certificate(s) used to sign the APK you uploaded have fingerprint(s):
[ SHA1: YYY ]

I am authorized in XDE the same account.
Why my certificate have changed?

@dikaiosune do you know what could be going on here?

@rodriguez did you change the package name of your app in your manifest? Did you change anything else in your exp.json/app.json file between the two builds of your app?

Yes. I have changed ‘name’ (but not package name in android section) because i did typo error in initial ‘name’. After changing back it works fine, Thank you!
But i steel need this change. Is there any way to chage the ‘name’ in exp.json without creating new app in Google Play? I thought that the certificate is bound to account and package name (android.package).

That’s correct, but the keystore we have stored for you is dependent on the app name as well. We’re working on a feature to download your keystore, but in the meantime we’ll probably have to migrate your certificates manually. I’m currently abroad for a conference, but I think @skevy may be able to help you.

So what is the exact solution to this? I see in v19 there is the ability to retrieve the keystore and reset credentials. Which of these needs to be done in order to successfully upload a new version of the APK to the play store?

Similar issue here. I have built and published a standalone Android app with my personal expo account and would like to change the account while upgrading Android app. Is there any solution I can migrate the certificates manually?

If you run exp fetch:android:keystore inside your project, while logged in to your old account, you’ll end up with the file and passwords you need to upload when you log back into your new account.

thanks @dikaiosune, but how can I upload the keystore after logging back into my new account?

When you run the new build, it will prompt you if you want to upload your own keystore and also prompt you for passwords.

I’m having a similar problem. I selected the option to let Expo generate a keystore for me. I tried uploading an APK for an SDK update and got this on the play store:

Upload failed

You uploaded an APK that is signed with a different certificate to your previous APKs. You must use the same certificate. Your existing APKs are signed with the certificate(s) with fingerprint(s):

[ SHA1: xxx ]

and the certificate(s) used to sign the APK you uploaded have fingerprint(s):

[ SHA1: xxx ]

I then tried downloading the existing keystore using the exp CLI and built an APK using that. When I tried uploading that APK to the playstore I get an erro “ERROR: JAR_SIG_NO_SIGNATURES: No JAR signatures”

1 Like

Hey,

I just used exp build:android yesterday with no problem. Deployed my app on Android.

I tried today and I cannot upload on GooglePlayStore because my SHA1 changed. How is it possible ?

Any idea ? I did not change my app name or android package name in app.json … Many Thanks !

Last build that worked on Android before my problems : https://expo.io/builds/1d69af28-dff7-447d-88b5-acf1c1e970c2

{
“expo”: {
“name”: “Tie Break”,
“description”: “L’application de rencontre du tennis”,
“slug”: “tiebreakprod”,
“privacy”: “public”,
“sdkVersion”: “25.0.0”,
“version”: “1.0.16”,
“orientation”: “portrait”,
“primaryColor”: “#cccccc”,
“icon”: “./assets/icons/AppIcon.appiconset/Icon-v2.png”,
“splash”: {
“image”: “./assets/icons/Welcome/Splash.imageset/group.png”,
“resizeMode”: “cover”,
“backgroundColor”: “#01503c
},
“packagerOpts”: {
“assetExts”: [“ttf”, “mp4”]
},
“facebookAppId”:“233912777050369”,
“facebookDisplayName”:“Tie Break”,
“facebookScheme”:“fb233912777050369”,
“assetBundlePatterns”: [
“./assets/icons/AppSpecific/Logo.imageset/logoBlack.png”,
“./assets/icons/AppSpecific/Header.imageset/header_bg.png”,
“./assets/icons/AppSpecific/HeaderMin.imageset/header_bg.png”,
“./assets/icons/Menu/Profile.imageset/icProfile.png”,
“./assets/icons/Menu/Messages.imageset/icMessageBig.png”,
“./assets/icons/AppSpecific/Footer.imageset/group3.png”,
“./assets/icons/AppSpecific/OrangeCircle.imageset/btn3Copy.png”,
“./assets/icons/Buy/Buy.imageset/buy.png”,
“./assets/icons/General/ArrowRightBlack.imageset/fill72.png”,
“./assets/icons/AppIcon.appiconset/iconPushColor.png”,
“./assets/icons/Add/Add.imageset/combinedShape.png”,
“./assets/fonts/AvenirNext.ttf”,
“./assets/fonts/Avenir.ttf”,
“./assets/fonts/SevenOneEight-Ultra.ttf”
],
“ios”: {
“supportsTablet”: false,
“bundleIdentifier”: “com.tiebreakapp.tiebreak”,
“buildNumber”: “1.0.16”,
“loadJSInBackgroundExperimental”: true,
“appStoreUrl”: “https://itunes.apple.com/fr/app/tie-break/id1183915697”,
“infoPlist”:{
“NSCameraUsageDescription”: “Tie Break uses the camera to take user’s profile pictures.”,
“NSLocationWhenInUseUsageDescription”: “Tie Break uses location to match tennis players together.”,
“NSPhotoLibraryUsageDescription”: “Tie Break accesses Library to get user’s profile picture.”
}
},
“android”: {
“package”: “com.tiebreak.tiebreak”,
“versionCode”:8
}
}
}

2 Likes

I just updated to SDK v25, without changing the app/package name. And the Google Pay is also claiming that my SHA1 changed

2 Likes

Also noticed the same recently with my build.