Don’t forget to backup your keystore file, if you’re publishing apps to Google Play Store.

Mahdi Ghiasi
Third Dev
Published in
2 min readOct 1, 2017

This is the story of what happened to the Android version of my app, Roamit.

Roamit is written in C# language (Xamarin), mainly because of the ability to reuse some parts of the code between UWP and Android versions.

For publishing the app into Google Play Store, you need a file named keystore for signing the package in order to prevent hijackers to modify packages on the way from Google servers to your device.

Xamarin did not do a good job telling developers how important this single file is, and also stores it somewhere that you’re least likely to backup normally. (Here’s the path: C:\Users\[your user name]\AppData\Local\Xamarin\Mono for Android\Keystore)

To make it even worse, I had some experience with UWP development before, but no Android development experience, and the Windows Store works in a different way. The certificate used to sign the app is actually on the Microsoft servers from the beginning, the exact opposite of how Google Play works, which is never storing the certificate on their servers at all.

Long story short, my PC ran into a problem so I had to reinstall Windows. (I had recently installed a beta build of Windows 10 via their Insider program on my PC, so it’s me to blame)

A week later, I wanted to submit an update to Roamit for Android. That’s when I realized what happened. I tried data-recovery solutions, but did not succeed.

The keystore file was gone.

I contacted Google, and the only way was to republish the app with a new package name; Which means that the users who already installed the app won’t get the new update unless they manually uninstall it and install the new app from Google Play.

So, make backups from your keystore file. It’s really important.

--

--