Currently I have a hybrid app in the play store and recently I have developed a native app for that, by improving and adding more functions.
So I would like to roll out that as next update
I have following issues in mind:
Do I have to sign this using the new app with same key-store file?
Do I have to use same package name?
Will changing version number be enough?
After little search I found out the procedure to release an app by
Google but it doesn't address my doubts so can someone explain the procedure to how to release the app and clear my doubts.
Just change the version number to +1 and use same package google play store will take this apk .but you have to declare target version and compiled version same or updated.
If you have same key and package name is same play store will take your Apk.
update your version number and put target and build version same or latest.
Please find my answers below:
do i have to sign this using the new app with same key-store file ?
Yes, if you want to publish update of existing app, won't allow you to publish if different key-store used
do i have to use same package name ?
Yes, if you want to publish update of existing app, will be considered new app otherwise
will changing version number enough ?
Yes but version number should be greater than the version number of existing app
Related
I have an android app developed in native Android, which is released in the Play store. I am wondering if I should rebuild the app in Flutter as I want both Android and iOS apps. However, I am not sure if the new android app developed using Flutter will be able to replace the current app. I want to use the same package name and release key. Also, most importantly preserve my users.
Thank you!
Yes, it is possible if you sign the new flutter app with the same release key and with the same package id.
That should indeed be possible. Afaik a play store "update" is just a new apk. I have had plenty of apps that have done this, so it is definitely possible, you'll just want to make sure package names and other important config objects are the same.
Yes, You can do that. You just need to take care of Package name, Version name and Version code of you application (if applicable).
Yes, you can replace already existing app with Flutter app but you need to take care of few points to be able to do this.
Please take care of following things:
The package name must be identical with the old application. Please take a look into Manifest file of old app and replace the package name in new application AndroidManifest.xml file with the package name from old application.
Now take care of the versionCode and versionName, this info can be retrieved from AndroidManifest file of old application and upgrade it in Flutter's pubspec.yaml file with version attribute as it is must to keep it greater than previously released application. This attribute has the form of 0.1.1+3 where 0.1.1 corresponds to versionName and 3 (the number after + sign) to versionCode.
Here's the crucial part, the keystore file used to sign New Flutter's version must be the same used to sign the Android's native release.
If you follow all these steps then you can update the new version of the application irrespective of the programming framework you are using i.e Kotlin, Flutter, React Native or any other technology.
I have published an Ionic app to google play and it's working fine. But, I had to make a change to its package name and now when I try to reupload it, it says the package name should be the same as previous version.
Your APK needs to have the package name com.mypackagename.
You need to use a different version code for your APK because you already have one with version code 'myversioncode'.
I'm happy to take down the whole app and upload the newer version but I don't think google would allow me to do it.
How can I work around this? Should I update the version code as well?
Think of the packagename as kind of a unique id for you app. If you look closely, a playstore-link is always a combination of the url and your packagename, like https://play.google.com/store/apps/details?id=COM.YOUR.PACKAGENAME.
When you create a new app project in the developer console, and upload the first apk, this project is permanently linked to the given package name.
I think the reason for this is androids app update scheme. By comparing the package names it checkts if you have a certain app installed, and if the installed version has a lower versioncode then the one available, it detects that you could update it.
So basically you have two options:
A) keep the old package name and do a regular update
B) change the package name and create a new app project in the developer console. publish your "new" app. Keep in mind that this app starts at zero, so your previous downloads and ratings are gone
You can not update the same app with different package name instead disable the previous app and upload new app with a new package name.
I am working in the 1.1 version of an app which first version (1.0) was made for a consulting company. That company published the app in Play using a package like com.thatcompany.mycompany. Our problem is that currently we want to deliver the 1.1 version as com.mycompany. As long as I know if we try to do that (change the package) our app don't be perceived for Play market as an upgrade of the last version but as a different application. Does exist some way to do package change and still being the same application on Play in order to the user be encouraged to update? Thanks.
As far as i know, you can't.
Your app is signed.
Signing uses your keystore and the package name.
If you change any of these the Play store will recognize it as a different application.
I believe it has something to do with security.
You cannot.
An application is uniquely identified in the market place with its package name, therefore you cannot change the package name anymore (the same goes with the key).
You cannot change either the package name or keystore used to sign your app.
To confirm what everyone else says, you CANNOT modify your package once your app has been published.
i developed a app in android and released a first version. but now i lost my previous (private key)debug.keystore . Now im going to release a second version with a different private key. but this second version didn't install in phone. how can i resolve this problem? thanks in advance.
You will have to uninstall the old version and then install the new one, as Android doesn't allow updates to be installed if they have a different signature.
Additionally, all of your users will have to do the same, and App stores like Google Play won't allow you to use an update signed with a different key. You will have to publish your app again under a different package name.
Just change your Package Name and change that in androidManifest file also and Upload with new KeyStore. No other way. Because google won't allow you to upload another application having same Package name.
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.