On the Google Play store any one app has to have a unique Package name among all submitted apps by everyone ever. Once you set the package name for an app, you can’t change it. If you upload an app with a different package name then it becomes a different app. Package names are best made using the “reverse domain name” schema. For instance, I have a website for my app business of:
omnigeekmedia.com
For my package names, I will use something like: com.omnigeekmedia.appname or com.omnigeekmedia.turkeysrevenge
You should settle on this name as one of the first things you do. Even if you don’t have a website (and you should get one to help with marketing, privacy policies, etc), you can use the same schema: apps.dodi_games.nameofyourapp. Clearly, dodi_games.apps doesn’t exist as a website since there is no .apps top level domain (there is a .app!).
Now on to keystores. Like the package name, once you make a keystore for an app and upload it to Google Play, it becomes the only keystore you can ever use for that app. If you lose your keystore or change it, you end up with a brand new app.
In an ideal world, you would have one keystore file that has multiple keystores in it (aliases) with each keystore being used for a single app. In other words:
KEYSTORE FILE
±-------------------+
| Keystore for App 1 |
±-------------------+
| Keystore for App 2 |
±-------------------+
| Keystore for App 3 |
±-------------------+
Other people would choose to have multiple keystore files holding one keystore each. It makes sense to many to have this one-to-one system because the concept of a keystore file with multiple keystores in it can be a bit harder to understand. Also if you lose a single keystore file for multiple apps, then you lose multiple apps. Then the final pattern some people use is a single keystore file with a single keystore for all apps. This isn’t very secure. If you lose the file, you lose all the apps. I call this the lazy method, it is the simplest. You don’t have to keep futzing with the keystore tool since many find challenging. I do not recommend this option.
It sounds like losing keystore files may be a pretty common thing. But if you practice safe data storage then you should never lose a keystore. Understanding your computer’s file system (what folders you store things in) and remember where you put things, use backup hard drives and/or cloud storage you should never lose a keystore file.
Keystore files should be compatible between Windows and macOS. That is you can make the keystore file on a Mac and use it on Windows just fine. If you have that option, then I would use the Mac since it’s easier to run keytool since it’s typically a command you can type without having to say where the keytool is. Compare:
keytool
vs.
c:\Program Files (x86)\Java\jdk-1.9.43\bin\keytool.exe
Rob