Package name and keystore

Hi guys! I’m trying to understand how the package name and keystore works to upload my app to play store. I have some questions:

  1. Can I use my dodi_games Corona SDK account but change the package name as many times as I want per app/game?

I am reading about the “keystore” and I am worried about creating one on my windows computer but in 1 year mobo fails, for example, and I will not be able to recover the keystore.

  1. Can I generate the keystore of any windows/mac computer as many times as I want and my app will update recognizing that it is the same old keystore app? :wacko:

I have a windows PC and a Mac mini. I’m a windows user, buy the mac to be able to build the app for ios and probably make it my default development computer in the future. I want to upload my app as fast as possible and learn macos probably take me a month. I thought I would upload it to the play store first and then to the app store.

I am afraid of making mistakes.

thanks
DoDi

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

Thanks @rob. I want to tell you that you have a gift of words and it is very nice to read your comments. If you wrote books it would be great to read your content. I’m going to leave this thread open because, although I’m going to give my best to get the App up, I know that this first time will generate doubts. Thanks again :slight_smile:

What do you mean by leaving the thread open?  You should never delete a thread that you have an answer to. Others search for answers and find already responded to threads. If you mean not mark it solved, that’s fine.

Rob 

@rob
Yes that’s what I mean.

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

Thanks @rob. I want to tell you that you have a gift of words and it is very nice to read your comments. If you wrote books it would be great to read your content. I’m going to leave this thread open because, although I’m going to give my best to get the App up, I know that this first time will generate doubts. Thanks again :slight_smile:

What do you mean by leaving the thread open?  You should never delete a thread that you have an answer to. Others search for answers and find already responded to threads. If you mean not mark it solved, that’s fine.

Rob 

@rob
Yes that’s what I mean.