I want to publish a beta version of some app of mine on the android market and face the problem that I cannot upload an app with the same package-name twice - not even with a different certificate. But having 2 package-names for release and beta version makes a lot of trouble ( e.g. having to change references to the different location of R every time )
Is there a best-practice/good workaround for that problem?
Yes call your package
com.you.app.beta
Fix all the bugs in this app. Then when you go live just copy the project refactor your package name (Eclipse CTRL+ALT+R on the item) update your manifest and re-release. The beta package is then not supported by you any more and you can even click unpublish, or release an update that shows an upgrade screen linking to the new package (i.e. new market url)
com.you.app
What's the problem?
since IO 2013 there is now one option to do beta-testing: https://support.google.com/googleplay/android-developer/answer/3131213?hl=en
We upload but do not publish beta versions of our apps. Once uploaded, the market will assume that any incoming license check is being done from a legitimate installation that was side loaded and will respond "licensed". So our beta testers can test a full implementation, including the licensing code. (Test account responses are also honored for uploaded but unpublished apps.)
When the testing is complete, we upload the release version using the same package (and signing cert), and publish.
I came across this blog which discuss Android Beta Testing and feels like that the better way. So just sharing with you guys. Hopefully it will be helpful for all . http://zubhium.posterous.com/android-app-beta-testing
Pushing app with com.packagename.beta is not a very good idea. It creates unnecessary confusion and secondly you don't want to get unstable version in market to get bad ratings for your brand.
Why can't you just use the same package name for the release version? Doing so would also let your beta users get notified of an "application upgrade" (that is, the release of the final version).
If you do want to use different package names, one way is to make an ant script that you can run that changes all the imports, and the manifest.xml, to use the new name. So you have your code that you develop in, then you can just run your ant script whenever you're ready to upload to the Market; say "ant beta". This would rename all your packages from com.company.app to com.company.app_beta, and you could release it on the Market.
It is good practice not to upload a beta version to the Market. You should only upload production ready applications to the Market, as this is what the users expect.
If you want to beta test your application, it is better to use a private distribution channel.
If you use the same certificate, then an application with the same package name will be considered as an update to a previous one. Users will be able to update easily.
来源:https://stackoverflow.com/questions/6536125/publish-beta-version-on-android-market