New Google requirements

canalrun

Well-Known Member
Licensed User
I just received a new message in my Google Play account. The following is a snippet:

In order to provide users with the best Android experience possible, the Google Play Console will require that apps target a recent API level:

  • August 2018: New apps required to target API level 26 (Android 8.0) or higher.
  • November 2018: Updates to existing apps required to target API level 26 or higher.
  • 2019 onwards: Each year the targetSdkVersion requirement will advance. Within one year following each Android dessert release, new apps and app updates will need to target the corresponding API level or higher.

How does this affect apps?

I'm in the habit of buying older phones. Mostly I buy three-year-old phones, refurbished, with older versions of Android for around $100.

I would argue that these phones are better than a lot of the newer phones – their performance is more than acceptable, they usually have more RAM memory, SD cards, and removable batteries. But, they usually have a version of Android somewhere around 4, 5, or 6. The API level in these phones is less than 20 or so.

If I have to set my target API at 26 in order to update or publish an app, does that mean that the app will not run on these phones – even though the app uses none of the newer features?

Thanks,
Barry.
 

Star-Dust

Expert
Licensed User
I have also received the message, indicating that SDK_Taget must be 23 from January and 26 from August, for new apps or updates

But I also believe that I have not understood well that the issue is more complex than simply raising the value of SDK

Also because we talk about BlindService (I do not know what it is) and 64bit support from 2019.

(see link: https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html)

PS. GooglePlay is getting more and more complicated, I'm seriously thinking about leaving for other stores or developing for direct customers.
 

Erel

B4X founder
Staff member
Licensed User
If I have to set my target API at 26 in order to update or publish an app, does that mean that the app will not run on these phones – even though the app uses none of the newer features?
No. See my answer here: https://www.b4x.com/android/forum/threads/min-target-sdk-version.84562/#post-535711

However it will affect developers as we will no longer be able to choose whether to implement new requirements such as runtime permissions and others.

Edit: new tutorial about targetSdkVersion: https://www.b4x.com/android/forum/threads/87610/#content
 
Last edited:

Star-Dust

Expert
Licensed User
This will be a problem for me because I did not understand how run-time permissions work.

Are all the utilizations to be requested in runtime? or just some? How do I know what permissions my app needs and the libraries I use?

BUT I have understood that from January the new or updated App must have the SDKTarget 23 or higher?

It would have been better if Google would have produced this page for each language so it would have been clear, given the significant changes it requires
 

Erel

B4X founder
Staff member
Licensed User
Are all the utilizations to be requested in runtime? or just some? How do I know what permissions my app needs and the libraries I use?
You should start a new thread for this in the questions forum. Make sure to go over the runtime permissions tutorial first.

BUT I have understood that from January the new or updated App must have the SDKTarget 23 or higher?
It is not mentioned in their blog. I don't think that it is correct.
 

Star-Dust

Expert
Licensed User
Thanks for the reply.
They were rhetorical questions, to say that it will be a problem for those like me who have developed for a lower SDK_Target. He will have to find answers to questions like the ones I wrote above.

Obviously when the time comes I will try on the forum or I will open new threads :p
 

ilan

Expert
Licensed User
It will require to update all my apps but in my opinion it is the right move.

There needs to be a uniformity in the store.
Apple store is a good example for that. :)
 

Star-Dust

Expert
Licensed User
I share your thoughts in part. Because it is very true that nowadays devices inferior to Android 5 are very few.

But the targert 26 (Android 8) that is so widespread seems to me excessive. At the moment looking at Google statistics on my Apps the most consistent block is represented by Android 6.

Anyone who has bought a recent device (like I did) has Android 7 (and not all of them still sell devices with Android 6), and it is not said that they will be updated. Probably the majority of devices purchased in 2018 will have Android 8, but they will still be a drop in the sea. It will take a long time ... but we already talk about Android 9 ....

It seems to me that the auction was raised too much in another for the moment.

The security problem is real, but it is pushing to get new products to be used by users who do not need all this security and maybe have an old device with Android 3 or 4.

P.S. Solving the problem of security if on the one hand is an advantage on the other is a problem .. for those involved in developing Apps for investigative agencies. :rolleyes::rolleyes: There is a flourishing and niche market for these Apps, which are among other things very well paid. It is not uncommon for investigative agencies to buy software or devices already crammed to act as a bug.
 
Last edited:

Peter Simpson

Expert
Licensed User
It will require to update all my apps but in my opinion it is the right move.

Luckily I've already updated my apps to either SDK_Target 25, 26 or 27. I usually set the Target_SDK to the latest on my machine at the time. I automatically do that when I'm updating my apps, even if I'm only changing the wording I'll still usually update the Target_SDK as well. Don't ask me why, it's just something that I usually do. Now my Min_SDK are all set to 11 I think (maybe I should up them to 16 :rolleyes:). I set watch faces to Min_SDK 21 Target_SDK 27.

I only have 1 apps that needs any sort of RTM (Run Time Permission (SDK23 and above)) and I implemented that a long time ago, so luckily I've got nothing to worry about.
 

sorex

Expert
Licensed User
I share your thoughts in part. Because it is very true that nowadays devices inferior to Android 5 are very few.

according to https://developer.android.com/about/dashboards/index.html

4.x still covers 20% which is only beaten by 6.0 so far.

I work in a facility for people with a mental disability and work with limited governmental budgets and rely a lot on gifs aswell.

So a lot of tablets for these kids/adults are still 4.x devices. (and not upgradable in most cases)
it would be a shame if they all would be unable to install new games or learning apps due to this forced api move.
 

sorex

Expert
Licensed User
on the other hand... it's the target not the minimum.

what's the point of it if I still use min:4 and target:26 ?

4.x will then still be supported, not?
 

ilan

Expert
Licensed User
on the other hand... it's the target not the minimum.

what's the point of it if I still use min:4 and target:26 ?

4.x will then still be supported, not?


Yes it will. I think they are doing it because of the new permission system.
 

LucaMs

Expert
Licensed User
4.x will then still be supported, not?
[From another thread: :(]
I will explain it with an example. Google has introduced runtime permissions in Android 6 (version 23). Forcing this feature on existing apps will break them.

So if your targetSdkVersion is 23 the OS knows that your app can handle breaking changes added in version 23 (and previous versions) and will force your app to use runtime permissions.

If the targetSdkVersion is 19 then runtime permissions will not be used.

The bottom line is:
Set the targetSdkVersion to <23 if you don't want to use runtime permissions and set it to 23 if you do. Don't set it to a higher value unless you carefully test your app on Android 7+ device.

I thought you could set a high target without problems; in the case above, setting it to 23 even if you do not use runtime permission in your app.

Now I have doubts. If when you set the target to 23 this will be incompatible with devices with android 4.x.x, this would mean forcing people to buy new devices!
 

ilan

Expert
Licensed User
I think this move willbe also good for us devs.

People will buy new devices and we can make more powerfull apps and dont need to think how to make our app run on android 2.x

I think we will get less "low memory" crashes.
 

LucaMs

Expert
Licensed User
Yes it will. I think they are doing it because of the new permission system.
Permissions handler is just an example; the "concept" is valid for every new feature introduced by new versions of Android.
 

LucaMs

Expert
Licensed User
I think this move willbe also good for us devs.

People will buy new devices and we can make more powerfull apps and dont need to think how to make our app run on android 2.x

I think we will get less "low memory" crashes.
No, because people do not like to throw their device in the bucket to upgrade to the TOO MANY new versions of Android and spend hundreds of dollars on new devices.
In fact, the percentage of old devices remains very wide for years.
 
Last edited:
Top