I'm trying to publish a new version of my Android app to Google Play and get the following error?
This configuration cannot be published for the following reason(s):
Version 1 is not served to any device configuration: all devices that might receive version 1 would receive version 4
I don't understand it. What does it mean?
This happened to me when I published two APKs (versions 3 and then 4) in a short space of time. Clicking "Deactivate" on the dropdown next to version 3 appeared to fix it.
My guess is that this is a very-poorly-worded error message meaning something like "your original APK hasn't been published to all the update servers yet, so some of them may miss that version entirely". But it's a bit of a guess.
For some reason when you upload a new APK without immediately clicking "publish" (you probably clicked save draft the first time), Google thinks you want to publish BOTH apk at the same time.
This is usually needed when you have multiple APK for different configuration (say: a version for android 2.x and another for 3+ or a version for tablet and another for handset etc...)
However in your case you are just uploading an upgrade and you want it to replace your previous APK.
To solve:
Click on the Switch to Advanced Mode on the top right
Click on Action -> Move on the OLD APK and choose "Deactivate"
The error should go away and you should see your OLD apk in "OTHER APKS" and the new one ready to be published.
Just click Publish to make your change effective and wait for them to propagate.
The Google warning is missleading.
Hope this clarify it.
I have solved the same problem with my app. I must upload from version 1.0 to the version 2.0.
- I have uploaded the v2.0 in Beta.
- When it was uploaded, I have DEACTIVATED the v1.0 in the PROD.
- Next step was to MOVE the v2.0 to PROD from the BETA.
- Then, the PUBLISH button was activated to finish the process.
I hope it helps.!
The solution of #Chris is right. But what the message really means is:
version1 and version4 has the same configuration: same API level, same screen resolution... bascially everything in manifest...
So this means any device can install version can install version4, too.
Now everything is clear: since version4 has higher versionCode, every devices will recieve the version4 instead version1.
There's no meaning still put version1 "in production" anymore. Under no circumstance any device would recieve this version. So you should "deactivate" it.
This may be a hack, but you can workaround this by doing staged rollout to 1-50%, then increase it to 100%.
This case the error message does not prevent publishing your app and also you don't have to deactivate anything.
This is purely a guess but do you have a previous version uploaded? If so it might be that it's marketcode is set to something higher than your new build e.g. 4
I had a similar problem, but because my previous version had a lower maximum andorid api, I was not allowed to revert to previous version.
In the end for me it was a problem wit eclipse that was not saving the change to the manifext file. I restarted eclipse, saved my project, made an apk and then it worked. Maybe worth a try if the above answers fail.
I just switched to the basic view. Which automatically replaces the current version with the new version immediately. That is of corse not suitable for every app deployment scenario. But should be all right in most (simple) cases.
You can only have one APK in production at a time. Before uploading you must deactivate the current one. The same goes for alpha and beta test APKs combined - you can only have one APK published for testing.
I agree the wording of the error message is appalling!
I had the same issue, but I executed following command on my APK file
jarsigner -verify -verbose -certs Myapp.apk
then I uploaded the new APK on the play store and it published easily.
I guess the console is telling your that u have two versions supporting the same devices so there is no reason to be using both
solution: remove the older one...
OR
if ur older version supports specific devices, mark that and the console will accept it
I also received that problem when I uploaded the APK at the first time but I noticed that API level 18-17 when viewing APK details. Therefore, I added this code to AndroidManifest.xml to specify the maximum API level
<uses-sdk android:minSdkVersion="18"
android:targetSdkVersion="23"
android:maxSdkVersion="23" />
After doing this, the problem is solved :)
in my case
an older version of apk was published in beta testing. while i was trying to update my app over already published app with new apk.
just moved my new apk to beta testing and unpublished the old apk from beta testing.
and then finally moved the new apk from beta to prod.
I had the same problem i just DEACTIVATE the old apk which was currently active and then upload new apk. IT SOLVED my Problem
To resolve the issue, do the following:
delete the new apk that is in the draft mode
clear the history cach of the browser or use other browser and re-upload the apk
I had the same issue, but I resolved by Block Lint Errors.
See the Lint Error page, right corner packager icon, click there and block package.
When you click for leaving lint error, the application make export singed application package.
it happened to me, when I published new APK, but accidentally closed browser window without finishing submission.
Related
I updated my app and tested it on my device. Everything works fine if I test the app via the run button in eclipse but if I export it into an apk and try to install the apk it fails.
There is no error code or anything else, it just says the app has not been installed.
Any idea why this happens? I only changed a few things in my app: I removed the basegameutils lib from my app and migrated to the new api without basegameutils. Thats it (except for some bugfixes but that can not be the cause).
I did already restart eclipse and cleaned all projects mutiple times.
The target sdk is 22 and I am using newest system images and so on for that api level (my divce is a stock nexus 6 with 5.1.1 running). I also updated my build tools to 23.0.1 from 22.0.1 and removed the 22 version. Is this the cause?
I also tried to upload the apk in the dev console and there were no erros.
Thank you for your help.
EDIT:
The logcat output says the signature does not match the previously installed version.
If i try to install the current live version via the play store there is also an error message saying i can not install this app because another user already installed an incompatible version on this device (but i dont have it installed and i dont have multiple users on the device).
If i got to the app menu in the settings my app is shown at the bottom of the list but there is a note saying the app is not installed for the users. If i click on it all buttons are unclickable (so i can not uninstall it).
What is happening?
For me, selecting Signature Version v1 and v2 both solved the problem
Your signature changed, so as you mentioned you must uninstall the previous version. You tried to uninstall from the device UI and that fails - so try it from the command-line:
adb uninstall your_package_name
Seen on Nexus devices, occasionally only command-line uninstalls work.
I found a solution but I still have no idea what caused the problem.
somewhere on my device my app was still installed even though it didnt show up in the app drawer and the play store told me the same. In the settings/apps menu my app was still present (as i mentioned in the edit of my original post) so i clicked on it. If you click on the menu button you can chose unisntall for all users which did the trick. now I can install my apk again.
I have no idea how this happened but there you go, i hope this helps.
EDIT:
I had the same problem as this guy had. the accepted answer over there is much nicer than my poorly foramtted text ;)
"You cannot install this app because another user has already installed an incompatible version on this device"
I was facing same problem And I solved it this way, For Current Updated Android Studio 2.3
Build > Generate Signed apk.
Create Keystore path.
Put Password, alias, key password.
Build type select accordingly(eg to release in playstore use release).
Signature Version select both V1 and V2 checkboxes.
Finsih.
Go to the apk from explorer and use it for your playstore or in devices as Signed and Certified apk file.
For me the solution was to disable Play Protect on device.
You can not run signed apk directly in your android device .
I you want to run your apk then follow below steps :
1) Go to your device settings
2) In setting you find applications
3) In application checked unknown sources
This will allow you to run your signed apk without downloading from play store.
or
try this link :
"You cannot install this app because another user has already installed an incompatible version on this device"
The problem is because you have a version of your testing app. So, you're not really upgrading the app! Those are two different apps. You must first uninstall previous version (testing) so you can install the release (signed) version of your app.
I encountered this problem today and tried a few suggestions here, and this is how I solved the issue: I cleared my phone's caches / junk files and also uninstalled the test versions of the app and their APKs, and then reinstalled the new APK. Try this first before getting worried. 🙂
I got the save Error just incase someone faces this. For me it was because i have multiple projects for the same app on the phone. you need to delete older versions of the app from your phone.
If you have two options (V1 (jar signature) and V2 (Full APK Signature)) before generation signed apk. you should use V1 jar signature now, because there is no backward compatibility and all android phones with version < 7 won't accept this signature. Backward compatibility will be added in some next N Developer Preview.
There are also explanations on this developer.android in this link :
https://developer.android.com/about/versions/nougat/android-7.0#apk_signature_v2
In my case it was the proguardFiles path in build.gradle that caused this problem
Currently PlayStore performs regular checks for apps and device for harmful behavior. Installing signed APK manually is treated like unusually behavior so is preventend.
So turn off play protect feature temporary and your install will work as charm!
step one - open play store and select play protect
step two - click play protection setting button
step three - disable
step four - close and install your APK manually
I have a "draft" APK in my Google Play console, and it's connected to an APK expansion file.
The version code is 9, and the expansion file is "main.9.com.something.something.obb".
Now, I'm trying to update the APK before I release. I increased the version code, along with some code changes.
When I upload the APK, I choose to use "main.9.com.something.something.obb" as my expansion.
Now, Google Play tells me this:
This configuration cannot be published for the following reason(s):
Version 9 is not served to any device configuration: all devices that
might receive version 9 would receive version 10.
But if I try to delete version 9, it won't let me, because it says that there are other versions depending on its expansion file!
So it's an infinite loop and I can't update my APK. The only solution I found is to re-upload the APK expansion (400MB), which is unacceptable. I don't want to do this every time I update the app, because users will need to re-download the expansion.
Also, I'm almost sure that this was never like that, and it's a bug that got introduced in the last period. I remember APK options like "deactivate" and so on, and now I can't find them.
Any help?
I actually solved this a few months ago but forgot to post the answer here.
I contacted Google Play support, and they clarified to me that this behavior happens only in "draft" mode.
Once your app is published, you can update your APK without touching the expansion file, and reference the previously stored file.
My app is now published and there were no problems after moving from "draft".
I already had a version (versioncode=2) in Google Store. Yesterday after doing some changes, when I tried publishing the app, i am getting below error message and not able to publish the updates. Any idea how can I fix it?
This configuration cannot be published for the following reason(s):
Version 2 is not served to any device configuration: all devices that might receive version 2 would receive version 3.
Some devices are eligible to run multiple APKs. In such a scenario, the device will receive the APK with the higher version code.
FYI, the new version is versioncode=3
You need to "Deactivate" the current apk in order to actually publish the new apk.
Deactivate the 2 version on the Google Play.
All this says is that version 3 is applicable for all devices that version 2 is applicable for. This means version 2 is obsolete.
If you check closely, when you upload your APK there is no option to Publish to production, only Save as Draft. This happened to me last night and drove me crazy. Now, in the morning I uploaded the new APK again and the Publish to production button was there! I don't what caused this issue but now it's fine.
We have followed the instructions at http://developer.android.com/google/play/billing/billing_testing.html#billing-testing-real to introduce in-app billing to our application, and now want to add our live product IDs.
As per the instructions, we build our APK with the necessary permissions and sign the APK. Once the upload is complete, we get the following error :
"This configuration cannot be published for the following reasons : All devices that might receive version 3001 would receive version 3002."
We do NOT want to publish this APK, but only upload it as a Draft APK, in order to complete testing of IAP.
Does anyone have a workaround to this?
I was able to work around this problem by switching back to the old version of the Developer Console and then deactivating my one older version, after which I deleted that older version and saved the app. Upon returning the the new version of the Console, the problem was resolved.
However, I believe the old version of the console will soon become unavailable, so this approach may not be available much longer.
Deactivate the old version first and then you should be able to publish the new version of the app.
Switch to the old version and update the new apk...
It works for me.
Thanks Carl
When i am trying to update my application i am getting the following message in developer console.
Error: APK version 1 supports all the same devices as other APKs with higher versions. It would not be served. Please deactivate an APK.
It's just what it says. You have to deactivate your existing .apk file before activating the update. If you switch to the simple view, it will do this automatically; in the advanced view, you have to do each step yourself.
Can you check you version number and check it is higher than the previous one.
Also for a detailed guide see
http://developer.android.com/distribute/googleplay/publish/preparing.html and http://mobile.tutsplus.com/tutorials/android/publish-to-android-market/
Uninstall existing .apk and install new one.