Important O-Week info: Our website is still undergoing major upgrades. Some of the contents here may be out-of-date.

Search

Reinhart Previano K.

Do you love to Ctrl-K, Ctrl-/, or / ? Now you can do three of them (>_ )!

No results so far...

Contact Information

Some notes on Google's plans to block older apps on Android 14.

Reinhart Previano Koentjoro's profile picture

Reinhart Previano Koentjoro (@reinhart)

Published on Logs of the SYSTEM

Share Copy Link Print PDF Embed Share to Email Share to SMS Yahoo! Share to Yahoo! Mail Mastodon Share to Mastodon Share to KakaoStory Messenger Share to Messenger Pocket Share to Pocket Flipboard Share to Flipboard Pinterest Share to Pinterest Reddit Share to Reddit Y Combinator Share to Hacker News Odnoklassniki Share to Odnoklassniki Blogger Share to Blogger Pleroma Share to Pleroma Share to Friendica Share to KakaoTalk 1Artboard 1 copy 2 Share to Snapchat Xing Share to Xing Share to Misskey LINE Share to LINE Evernote Share to Evernote WhatsApp Share to WhatsApp LiveJournal Share to Livejournal Diaspora Share to Diaspora Share to Gmail Threads Share to Threads Threema Share to Threema Share to X Tumblr Share to Tumblr Buffer Share to Buffer LinkedIn Share to LinkedIn Mail.Ru Share to mail.ru VK Share to VKontakte Trello Share to Trello Facebook Share to Facebook Bluesky Share to Bluesky Skype Share to Skype Hatena Bookmark Share to Hatena Bookmark! Share via MastodonShare Telegram Share to Telegram WordPress Share to WordPress.com

Embed

This website supports oEmbed. To quickly use oEmbed, just copy this site's link to your oEmbed-supported apps and websites like WordPress.

Alternatively, copy and paste the HTML code below to embed this post in your website.

($_ )! We have made this thing responsive, but recommend at least 512x512 pixels for best results.
<iframe src="https://reinhart1010.id/blog/2023/01/29/some-notes-on-googles-plans-to-block-older-apps-on-android-14?embed" height="512" width="512" style="border:none;"><a href="{{ $canonical }}">https://reinhart1010.id/blog/2023/01/29/some-notes-on-googles-plans-to-block-older-apps-on-android-14</a></iframe>
Preview
Cover image for Some notes on Google's plans to block older apps on Android 14.

I recently read this Gizmodo article which I can say, quite misleading at some points.

And for a little background, Google recently added to Android's code base to prevent apps who are designed for Android 5.1 or lower to be installed into the operating system.

And I have some feelings that Google is also doing the same for running outdated-but-installed apps when the user wishes to upgrade from Android 13 to 14, just like what Apple did several times in iOS and MacOS.

The article author, however, mentioned this as an (possibly evil) attempt made by Google to restrict people from sideloading apps—and limit them to only install from the Play Store.

And oh, I almost forgot, the article was salted with phrases like "this is a threat to the Android open ecosystem!"

The two "target versions" of Android apps.

Before going further, I think we should understand how Android apps "target" which Android versions are compatible with the app.

And 5 years ago, I always thought that Android Jelly Bean (4.1-4.3) is "the Windows XP of Android operating system" with many app still support that particular Android version years after Google ended their support for Jelly Bean. We're also going to use the Windows XP analogy to understand Google's case for limiting these apps.

The first "target version" is something we commonly call as the minSdkVersion. Quite self-explanatory, isn't it? This attribute, found on the Android APK files are used to determine the bare minimum version of Android which can the app can run.

Sure, most app developers will always want to support as old versions as possible in order to reach as many devices as possible. But unfortunately, there's always technical challenges behind this, and they ultimately have to give up on the oldest version of Android the app can technically support.

And second, is the targetSdkVersion, which is commonly greater than minSdkVersion. This value, however, is used to note the youngest Android version the app developer have tested the app against. A simpler analogy to this is that "as the developer of this app, I guarantee that this will work on Android versions from minSdkVersion up to targetSdkVersion".

Since future versions of Android will introduce many breaking changes, the targetSdkVersion here is used on future Android versions to respectfully treat the app as the older defined version of Android to avoid new features and changes break the entire app experience.

For example, an app originally targeted for Android 10 will be respectully treated by Android 11, 12, 13, and so on as if the mobile device is running Android 10, albeit few technical and feature changes like app permissions.

But don't get me wrong, Gizmodo is already right by implicitly declaring that this restriction only works if the app's targetSdkVersion is lower than 23, i.e. Android 6.0 (Marshmallow).

If an app developer—even an independent one—isn’t writing their app to more recent source code than that, Android will deny installation.

https://gizmodo.com/android-14-6-block-old-apps-play-store-sideloading-pixe-1850025518

Compatibility concerns.

Sure, Android Marshmallow brings many significant technical improvements including Doze and fine-grained app permissions, which is also an added benefit for Android 14 by ensuring that every app must use fine-grained app permissions.

But rember that, once Android 14 is finally released, Android Marshmallow will be 8 years old! It's important that it would be very tiring for Google and Android developers to support Android versions beyond that, like the "XP" Android Jelly Bean which would become 11 years old.

Now, considering the age of these really, really old Android versions, you might be thinking, can Android and other OS developers always keep supporting these really old apps?

Just as those app developers who eventually give up supporting older versions of Android, the developers behind Android definitely want to give up supporting Android apps that, well, is only guaranteed to work on older Android versions.

Will every OEM adopt it?

The Gizmodo article said, "practically it's up to OEMs whether to block ancient apps or not in Android 14 and later." But my best guess is yes, every OEM will likely to adopt it as that means Google will no longer guarantee that Android 15, 16, and so on will still support those apps who are good for Android Lollipop and below, according to the app's defined targetSdkVersion. And Google can also enforce rules to make sure that every OEM should not bypass this restriction in any manner.

Just like when Windows 10 and 11 can't guarantee much that a software originally made for Windows XP and even 95 to run properly on their systems, even though Windows introduced "compatibility mode" because of naughty enterprises who stubbornly used these ancient programs to keep their businesses running on newer systems.

Conclusion: A threat to sideloading and Android's "open-source" ecosystem?

From that Gizmodo article again,

The Android mobile operating system has been around for a long time. But due to its openness and tinkerability, it’s developed a bit of a reputation for being risky to use if you’re not fully aware of its follies. That’s not good for Google, which is why the company seems to be constantly working to reduce that stigma through new features—and why it wants you only to download apps vetted through the Play Store.

With the next version of Android, you might not get as much freedom as you’re used to when installing apps you found on the web. But maybe this means Apple can finally stop using sideloading as an excuse for why Android is less safe than iOS.

If you ask whether this is a threat to sideloading and Android's platform openness, yes and no. But it's not fair to say that this restriction gives Google Play another competitive advantage. We believe that Google Play Store will also mark these, already-published ancient apps as "unavailable/incompatible for your device". Sure, this brings improved security on both sides: Google Play and sideloaded apps.

If you're afraid that apps like F-Droid no longer can be sideloaded because of this: the F-Droid client's targetSdkVersion is still set to Android 7.1 (which is still safe to install, of course) while the community is still struggling to raise that number. Remember that raising the value here is not just about editing the numbers, as the updated app must also be able to adapt with newer Android versions' changes and requirements.

Well, at the end of the day, it's the circle of life. You can find many more stories on how other OSes decided to drop support for really, really old apps.

Share Copy Link Print PDF Embed Share to Email Share to SMS Yahoo! Share to Yahoo! Mail Mastodon Share to Mastodon Share to KakaoStory Messenger Share to Messenger Pocket Share to Pocket Flipboard Share to Flipboard Pinterest Share to Pinterest Reddit Share to Reddit Y Combinator Share to Hacker News Odnoklassniki Share to Odnoklassniki Blogger Share to Blogger Pleroma Share to Pleroma Share to Friendica Share to KakaoTalk 1Artboard 1 copy 2 Share to Snapchat Xing Share to Xing Share to Misskey LINE Share to LINE Evernote Share to Evernote WhatsApp Share to WhatsApp LiveJournal Share to Livejournal Diaspora Share to Diaspora Share to Gmail Threads Share to Threads Threema Share to Threema Share to X Tumblr Share to Tumblr Buffer Share to Buffer LinkedIn Share to LinkedIn Mail.Ru Share to mail.ru VK Share to VKontakte Trello Share to Trello Facebook Share to Facebook Bluesky Share to Bluesky Skype Share to Skype Hatena Bookmark Share to Hatena Bookmark! Share via MastodonShare Telegram Share to Telegram WordPress Share to WordPress.com

Embed

This website supports oEmbed. To quickly use oEmbed, just copy this site's link to your oEmbed-supported apps and websites like WordPress.

Alternatively, copy and paste the HTML code below to embed this post in your website.

($_ )! We have made this thing responsive, but recommend at least 512x512 pixels for best results.
<iframe src="https://reinhart1010.id/blog/2023/01/29/some-notes-on-googles-plans-to-block-older-apps-on-android-14?embed" height="512" width="512" style="border:none;"><a href="{{ $canonical }}">https://reinhart1010.id/blog/2023/01/29/some-notes-on-googles-plans-to-block-older-apps-on-android-14</a></iframe>
Preview

Reinhart Previano Koentjoro
Reinhart Previano Koentjoro
Citra Manggala Dirgantara
Citra Manggala Dirgantara

A Reinhart company

Products

Company