In August 1, Google Play requires new apps to target at least Android 8.0 (API level 26). But in appgyver, I notice the latest available version is 4.5.3. Is there any way to upgrade it? Thanks!
I having the same issue, which is the maximum API level which appgyver supports is 21 only. GooglePlay required at least API Level 26 on August 2018 onward.
AppGyver just officially answered this question here.
TL;TR AppGyver is using Crosswalk, an Intel product, to build Android apps, and Intel has shut down Crosswalk over a year ago, now it is not possible for AppGyver to update their Build Service without rewriting the entier Android part, which would cost them too much, Supersonic and Steroids being depreciated, Android is officially abandonned by AppGyver, the Build Service will stay as is for apps that are internally distributed but won't allow to build apps destinated for Play Store.
Edit: I found a solution that allow me to get the app accepted on the Play Store, but app will crash on Android 8.
I then tested to install my app from the Play Store on a Android 6 with success but as we could expect it crashes on Android 8, the edited Target SDK number dupes the Play Store so it lets the APK in, but in the end it hasn't been built with Android 8 capabilities, so it won't work on that version.
All I had to do was to import my APK in APK Icon Editor, go in the Properties tab, change the Target SDK value to 26 (be sure to keep a lower value in the Minimum SDK field as it's the one telling what Android version can actually instal your app, if it's high then older phones won't have access to your app), and click on Pack APK to generate a new signed APK that is accepted by the Play Store!
Its as easy as this:
I then tested to install my app from the Play Store on a Android 6 with success but as we could expect it crashes on Android 8, the edited Target SDK number dupes the Play Store so it lets the APK in, but in the end it hasn't been built with Android 8 capabilities, so it won't work on that version.
Edit: it seems like it also crashes on Android 7 :(
Appgyver is constantly working on their platform and bringing latest updates. hopefully soon this issue will be resolved as well.. try contacting their support
Related
As I was developing, I published to SDK 21, Lollipop, and I'm not able to use it on my KitKat device. The applications are really simple and I only used the SDK for the animations and for material design, however two things come up when I try and make changes to the play store.
I'm not sure what to set for my app. There is target SDK, minimum sdk, and such. I set all of these to 21 to 22. Now, if I try and publish an app that uses SDK minimum 11, Play gets mad and says that it cant roll back on devices. I don't care to update the users phones. Its a simple application that doesnt require that, but it won't let me update and replace the primary apk.
What should I do? What should I change? Apps are posted here under Thered Software on Google Play.
You can publish multiple apk's for different api-levels: http://developer.android.com/training/multiple-apks/api.html
First you should make sure you understand the difference between the compile SDK, minimum SDK, and target SDK versions. These are explained well in What is the difference between min SDK version/target SDK version vs. compile SDK version?.
Now, if I try and publish an app that uses SDK minimum 11, Play gets mad and says that it cant roll back on devices.
It would help if you posted the specific error message that the Play Store shows you, but it sounds like you are trying to upload an APK with a lower version code than an existing version of your app.
For example, let's assume you previously uploaded an APK that had a min SDK of 21 and you labeled that APK as version 56 of your application. Any version you upload now needs to have a version code of 57 or higher. This is because Android uses this version code to determine which version of an application is "newer."
This is specified in your build.gradle, as below:
android {
defaultConfig {
versionCode 56
}
}
Change your minsdk requirement in the manifest.
Do a new release (don't forget to increment the version code).
That is all.
What happens to existing users with the app installed when minSdkVersion is raised and their SDK version is less than that?
Do they still get the update from Google Play with a subsequent crash? Or do they stop getting updates from Google Play?
Below happens on minSdkVersion change
On apk upload, Google plays warns you on minSdkVersion telling how many users will be affected.
Existing users lower than minSdkVersion won't get update and cannot
see app in PlayStore
Existing users lower than minSdkVersion, if they uninstall, cannot
reinstall the application.
I suggest you use multiple apk option in PlayStore and continue to update your newer apk. Just keep the old one as it is.
For example, you can publish your application with one APK that
supports API levels 4 - 7 (Android 1.6 - 2.1)—using only APIs
available since API level 4 or lower—and another APK that supports API
levels 8 and above (Android 2.2+)—using APIs available since API level
8 or lower.
For more, read the android documentation on multiple apk support.
They will not get an update and it won't show up on Google Play for them any more. The version they have installed will remain on their device.
Upload failed
You uploaded an APK that uses Google Play services version 6111000. You need touse version 5100000 or lower.
Warnings
You uploaded an APK that uses Google Play services version 6111000. This will only work with Android API levels of 9 and above. It is discouraged to use this Google Play services version unless you have set the minSdkVersion in your manifest to 9 or higher.
How to fix this error other than increasing minSdk to 9 ? I m using eclipse for making the apk.
Just download the old version here, and then import it to your project.
Dont forget to remove the reference from the old version from your project.
Now google play will accept your app.
You are using the latest Play Service version (6.1) which start rolling out today.
The new Play Service (4.0+) only supported on Android 2.3+
You have two options:
1- Use Play Service For Froyo. (not recommended at all)
2- Update The minSdkVersion in your manifest to 9
PS: also I recommended you to use Play Service 5.X instead of 6.1. it start rolling out today and it need about two weeks to be installed on all users devices.
There are two approaches to this problem first one change the target sdk but that one of course you have mentioned not to use. The other one in my opinion would be to update your sdk and from google-> google playservices-> get the google play and update it in your project.
I hope this will work.
background:
My current app is already running on Google play with minSdkVersion=8. As every developer knows Froyo and Gingerbread should have died a couple of years ago, and finally the product team on the company allowed us to drop support for them and go to API 15. Yeah.
Approach:
The idea is to leave this last stable version still available for Gingerbread users to download, so what I'm trying is:
create a build with minSdkVersion=8; maxSdkVersion=14; versionCode=195
create another build with minSdkVersion=15; versionCode=250 (skipping a few version codes in case we NEED some emergency maintenance)
the issue:
it all builds fine, but Google Play does not allow the multi-apk upload with the following error:
This configuration cannot be published for the following reason(s):
It is forbidden that a device upgrading from API levels in range 8-14 to API levels in range 15+ should downgrade from version 195 to version 194
question:
is what I'm trying to do something that Google Play does automatically?
is it possible to do what I'm trying to do?
if possible, how?
The problem is maxSdkVersion=14; versionCode=195. This means that if someone has a device running API level 14, and they upgrade that device to 15, the version of the app they have installed (195) will not run.
Try omitting the maxSdkVersion. I'd hope that people in this scenario would then continue to be able to use the 195 build of the app, and then Google Play should upgrade it to the 250 build next time it performs its check.
Google Play does this automatically - users will receive the latest version that is compatible with their device so there's no need to publish your version 195.
As stated in that error, you should continue to have 15+ versions of the app have a higher version number than <15 builds - this will ensure that users only ever upgrade their app to maintain compatibility.
This error message sounds like Goole Play doesn't "see" your second APK (version 250) for API 15+ and it "believes" users with 15+ will have to downgrade to older version 194 when new version 195 gets installed. I never tried to upload multi-APK projects, but documentation says you need to switch into "advanced mode" (a button in the top-right corner) to upload multi-APK. In this mode "upload new apk" works a bit differently. I assume this might be the issue.
I would like implement in-app subscription on my android app, but what's the minimum target to do that ?
2.1 or 2.2 ?
From the Android Developers site (Version 3 is the latest):
In-app Billing Version 3 is supported on devices running Android 2.2 or higher that have the latest version of the Google Play store installed (a vast majority of active devices).
So the minimum target is 2.2.
http://developer.android.com/google/play/billing/billing_overview.html
As soon as I know, the subscription "minimum target" is related to the Google Play Store app, and not from your app.
Take a look at:
http://developer.android.com/google/play/billing/versions.html#Subs
In-app Billing Version 3 is supported on devices running Android 2.2 or higher that have the latest version of the Google Play store installed.
Source: http://developer.android.com/google/play/billing/billing_overview.html#migration
Use the version 2.1 and above since for all the mobile devices are almost higher versions and its good to develop with min version 2.1 & above.
Before deciding the min version for your application you must always check the platform distribution on google. For example, I choose not to include 2.2, since it brings unnecessary API legacy issues and too much work for too less benefit. Keep in mind, in-app billing is really complex to get right. The API's are just crazy'ly complex.