Android 14 is here—or the first preview is, at least.
Google is kicking off the months-long developer preview process for Android’s latest version, which will get a final release in the second half of the year. Even with multiple previews, Google likes to keep the final set of Android features under wraps at least until its I/O conference in May, so we can’t look at the features here to determine the scope of Android 14. These are just some of the features Google wants developers to have a head start on.
The biggest news is that Android 14 will block the installation of old Android apps. As Android changes over the years, new APIs and increased security, privacy, or background processing restrictions could break old apps, but Android’s backward-compatibility system keeps these old apps running. Apps can declare the newest version of Android they support via a “Target SDK” flag.
To prevent old apps from breaking, new features and app restrictions in, say, Android 12 only apply to apps that target Android 12 or above. Older apps will continue to run with the older set of restrictions they’re used to. (A different setting, called “Minimum SDK,” determines if a new app can run on an old Android OS.) The system works great for honest developers, but if you’re building a piece of malware, it’s an easy decision to target a very old version of Android. While you’ll get access to fewer features, you’ll also be subject to fewer security and privacy restrictions.
For the first time, Android 14 will close this malware loophole by simply refusing to install old apps. The cutoff point is generous enough that it shouldn’t cause anyone problems; any app targeting the 8-year-old Android 6.0 or below will be blocked. Google says it picked Android 6 because it’s the version that introduced runtime permissions, the allow/deny boxes that pop up asking for things like camera access. In addition, “some malware apps use a targetSdkVersion of [Android 5.1] to avoid being subjected to the runtime permission model introduced in 2015 by Android 6.0,” Google said.
Users who don’t sideload apps probably haven’t seen an Android 6.0 app in years—the apps certainly aren’t available in the Play Store. The Play Store implemented rolling minimum target SDK levels in 2018, requiring new and updated apps to target an Android version that’s a year old or newer. So in 2018, the minimum SDK version the Play Store would accept was Android 8.0, and since it goes up every year, the minimum level today is Android 12. That requirement for “new and updating apps” means abandonware was initially still visible on the Play Store, but Google started hiding old apps last year, and now any app that hasn’t been updated in two years will be hidden from the store.
It also sounds like the core Android OS will cull app support every year. 9to5Google discovered this feature when it first hit the Android codebase, and there was talk of a “progressive ramp up” for the minimum app level in the commit. If you somehow still have an Android 6.0 app on your phone and upgrade to Android 14, the app won’t be removed, Google says. If you really still want to install an app that old, an ADB command line flag—”adb install –bypass-low-target-sdk-block FILENAME.apk”—will bypass the block. That requires a USB cable, a PC, and an installed Android Developer SDK, so Google assumes you know what you’re doing if you go down that path.
https://arstechnica.com/?p=1915857