If this question I'm about to ask was already asked, please just direct me to the link as I didn't find it. For the beta testing in google play, do you have to first un-publish a beta APK before the new one will take its place? Also can you upload the same version code or do you have to create a new version code with each APK upload in Beta?
The reason I ask is I was about to Beta test a new version of an application. I upgraded the application on my test phone and it crashed. I found out there was a line of code I forgot to take out for testing purposes which caused the upgrade to break. Which is funny because the testing code was testing, indirectly, the upgrade code. Anyway, so I didn't want to upload a whole new code version just overwrite the pre-existing APK upload. I was hoping this was possible due to it only being in Beta status. Also, I guess this means having to potentially wait another 24 hours for his new Beta APK upload to take effect. That was another thing I was hoping to bypass was uploading the same version in Beta would wipe out the pre-existing Beta version code so the changes would be immediately upgradable. Wishful thinking I'm assuming.
Thank You in advance.
No, you do not have to un-publish your application to upload a new Beta version. However, you must increment the version code in order to release a new Beta version. The version code must be incremented, so devices that installed your application can track whether an update is available, by comparing the installed version code to the Google Play version code.
Every time you release a new version or update your application info, it could take a few hours for these changes to propagate. In my experience, it only takes about 5 hours until people start receiving the update notification. If you are really bothered by the time it takes for new versions to be available, you could use a different app distribution service, for example HockeyApp, TestFlight, etc...
When your app is ready to production, you don´t have to unpublish, just "promote to production", you don´t have to change the versionCode.
If your Beta application has bugs, made the changes and you have to upload another .apk and yes, you have to change to the newer versionCode.
If your app was published, you can´t overwrite the pre-existing APK.
Related
Here is the scenario we are in:
We recently pushed an apk to the play store - the manifest file has the maxsdk version set as 26. This means that for the users with version 8.1 of Android does not see the app for download on the play store.
What we want to do is create another apk without the maxsdk version and upload to playstore replacing the existing one - no change in code as we have already tested the apk with version 8.1. However, we are concerned that the users who have already downloaded the app will get an "update" which is not really an update.
Can someone suggest the best way to deal with this?
You can achieve this by uploading an APK with minSdkVersion=27, and include the previous APK in the release, i.e. you'll have both APKs in the release but your existing users won't be eligible to release the new APK so won't see the update.
Then, in your next "real" release, you go back to your normal minSdkVersion and go back to a single APK per release.
It's a bit hacky but achieves what you want.
Hope that helps!
The best way would be to simply release a proper update, which in the version description simply says that you added support for Android 8.1. If you're updating the SDK, you are indeed making an update, and this sort of 'update' is commonplace.
Users won't be put off by the fact that there's an update that is exclusive to a particular Android version (which they may not have), as it will show that you're committed to supporting the latest firmware.
I'm trying to add an application for beta testing for first time. I made a mistake and instead of adding it on beta tab I did it on production one.
I'm trying to cancel the publish process but I'm not able to do so.
I've switched to advanced mode and clicked "deactivate" but I get the following error
This configuration cannot be published for the following reason(s):
You must have at least one active APK.
I don't want to publish the App. This other question Unable to deactivate APK accidentally uploaded to Prod seems to indicate that there is no possibility to revert this mistake. How is that posible?????
EDIT
It seems I'll be able to unpublish this app. Is it possible to publish it again later using the same package id and just change the version?
No, you can unpublish but once your application has been live on the market you cannot delete it.Only older version can be deleted
You cannot cancel the publishing, at least I think that if you upload a beta apk with higher version name it replaces the active app.
The error I think it's because the app is not published yet it takes around 2 hours to publish.
My application is not submitted in Play store. Its a non market app, each time when we give an update, the application checks by its own and will download the latest build from our own server.
I have released application to my clients, for around 4 times. Each time i have
increased the version code from 1 to 4.
In my latest build i have not incremented the version code to be as 5, now i am getting a complaint from my client side that the new update is not able to be installed.
Whereas when i tried in my local device, its working good.
Does the version code affects the installation of updating a build
Yes exactly, version code effects the market build.
According to you, your code is checking on your server of a possible update via version of the app. As you have not incremented the version of the app this time, there is possible chance of error. Rest all depends upon your code. As far as google play is considered, you have to increment the version code each time you upload a new apk
Say I have an application that users have installed from the Play Store, if one of my users reports a bug and I want to send them a patched version of the app to test, they can install it to their phone just fine. But if I then update the app on the Play Store, will the user get the update? My testing seems to indicate this is the case, but is there any gotchas?
The way my build process works is that each time I build, it gets a higher version code, so the patched version will have a higher version code that the one currently in the Play Store and then the version I upload to the Play Store after sending my user the patch will have a higher version code again.
I'm taking a decently wild guess here, but it should work, provided the following are met:
The version code of the apk on Google Play is higher than that of the hotfix
The user originally installed the app from Google Play to begin with, and only updated it via side loading.
The hotfix and the Google Play update are both signed with the same key.
I'm decently sure this will work, as I recall a long discussion about this on one of the android google groups that ended with success. I unfortunately cannot find it right now.
If you do try it out, please post back with the results.
I don't see any issue with this workflow. As long as you increment the version number at each build.
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.