Jump to content
Yaron

Delphi 10.3 and supported version of Android

Recommended Posts

After previously uploading a Delphi 10.2.3 to the google play store, I uploaded an APK compiled in Delphi 10.3.

This triggered a warning message by the play store that some devices will no longer be supported by this build.

 

My code hasn't changed... Does anyone know if this can be worked around so I can keep supporting these older devices?

 

Share this post


Link to post

I'm not sure you're correct.

 

From this:

https://developer.android.com/distribute/best-practices/develop/target-sdk

Quote

Configuring your app to target a recent API level ensures that users can benefit from these improvements, while still allowing it to run on older Android versions.

 

I think by that they mean that the app is aware of API 26 and may have to specifically support API 26 functionality (like the new method to request user permissions), but that doesn't mean it can't support earlier versions of Android... am I missing something?

Share this post


Link to post

There are two API levels in manifest (actually, there is another one, but not important) - minSdkVersion and targetSdkVesrion

 

minSdkVersion marks minimum API required by application and it will not run on Android devices with API lower than specified

 

targetSdkVersion marks highest supported API level by application - that means Android will not use any compatibility mode when running on devices with specified or lower API. If you run application on device with higher API level, OS will use compatibility mode for newly introduced API features.

 

Tokyo 10.2.3 (and previous versions) by default had both API levels set to 14. Rio 10.3 changed that and minimum API level is now 19 and target is 26.  That means devices with Android version lover that 19 will no longer be able to run applications built with Rio. 

 

Conclusion: Delphi application compiled with Rio can by default run on any device with API 19 or higher.

  • Like 2

Share this post


Link to post
2 minutes ago, Cristian Peța said:

@Dalija Prasnikar in the "Platform Status" says that it's Android 5 (API 21)

http://docwiki.embarcadero.com/PlatformStatus/en/Main_Page

Documentation is wrong. Actually, it is not... long story...

 

Default value in Rio manifest is 19, but minimal supported version as in "tested with" is 21.  This is form of API level deprecation on Embarcadero side. Applications should run on API 19 (and lower, you have to manually edit manifest to support those), but if there are issues (and those issues are caused by API level lower than 21) Embarcadero can decide not to fix those issues. 

Share this post


Link to post
8 hours ago, Markus Kinzler said:

Google askes for a minimal android version SDK 26 to get into store. EMBT rised the requested version accordingly.

That's the *target* version, not *mininum*. They are quite different things. Delphi 10.3 Rio also raised the minimum (i.e. minSdkVersion value) to 19, which excludes devices that have lower than Android 4.4 (Kitkat), hence the warning from Google Play. Having said that, Google claim that less than 2.5% of devices are on lower than 4.4 anyway.

 

EDIT: weird - for some reason I could not see other replies before I sent this. Worse: I can't seem to delete this reply?

Edited by Dave Nottage

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×