I need to publish two applications in android market which are similar in functionality and uses similar code base. The only places where these apps differ is client specific icons and some strings.
When trying to publish, it looks like my apps are getting package conflict. What should I do to avoid package conflict. I did some search on net and it looks like I have to change base package of my classes which just sounds weird. Is there any other option that I am missing.
The app is identified by the package name. Therefor the package name needs to be unique. Thats why everybody uses some domain names for that to create a unique package (domains are unique, too).
My packages looks like:
org.shufflecity.android;
org.shufflecity.server;
You can also add a subpackage for each client you have:
org.shufflecity.clientname.android
That should do the trick...
Only thing you need to change as package attribute in your manifest:
<manifest package="com.example.project" . . . >
Don't forget to fix all your staff in manifest file according to the new package name.
The package name HAS to be unique on the market. That said, you can still reuse the code you produce simply by making the common code an Android Library. Then each client subproject would have a different manifest specifying different package names.
Don't forget to create that package and to specify absolute package names for your activities in the manifest.