I have an application that I'm going to publish to the Android market. I'm planning on releasing a paid-for version and a free version with restricted feature set.
During development I've ensured I can turn features on and off by setting a few constant values, so I only have one codebase.
However, now I come to release I'm not clear if I need to make a copy of the app with a different package name for the free version.
The documentation on how the market works say updates will only be recognised if they have the same package name and are signed with the same key. Does this mean it's OK to release two applications with the same package name but signed with different keys, or will this break something? Or is it just bad practice?
The package name is just to organize your code. The applicationId, on the other hand, is used to identify your app in the Play Store. You will change this only if you plan to generate another app based on same code.
The package name of an Android app uniquely identifies your app on the device, in Google Play Store, and in supported third-party Android stores.
One method to look up an app's package name is to find the app in the Google Play app store using a web browser. The package name will be listed at the end of the URL after the '? id='. In the example below, the package name is 'com.google.android.gm'.
Yes, you need to make to use two different package names for the free and paid version. Fortunately, its really easy, right click your App Project in Eclipse -> Android Tools -> Rename Application Package.
Yes if you want to have 2 different versions they must have different package names. I have free and pay versions and it is a pain to manage this and both code bases.
Another option though is to just have a "key" app that you can sell that will unlock features in the free version.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With