As many of you, we are waiting on the newest Android 14 release. The Android developer community published the first developer preview of Android 14 earlier this year in February 2023.
Since then, improvements have been made in the areas of performance, privacy, security, and customization. Bugs have continued to be fixed, and several new features have been added to the developer and beta versions of Android 14.
The latest version was released on August 10th. The unoffical codename for Android 14 is Android Upside-Down Cake. Android U is the predecessor of Android 13 internally called Tiramisu.
The Android 14 beta timeline
- 08/02/23: Android 14 Developer Preview 1
- 08/03/23: Android 14 Developer Preview 2
- 12/04/23: Android 14 Beta 1
- 07/06/23: Android 14 Beta 3
- 11/07/23: Android 14 Beta 4
- 10/08/23: Android 14 Beta 5
What is coming after Android 14 Beta 5?
Android 14 reached Platform Stability at Beta 3 in June 2023. Beta 5 is the last scheduled update in the beta program. Developer APIs and application-facing behaviors are final. Developers can now publish apps targeting Android 14’s SDK version 34. The next release will be the final release of Android 14.
When will Android 14 be released?
The stable Android 14 version will be released to AOSP soon. Most sources are sure that it will happen end of August or latest in the beginning of September 2023. Rumors state it will happen on the 5th of September.
What’s new in Android 14?
The Android 14 beta versions already give a good outlook on the features shipped with the stable Android 14 release. Let’s introduce the features with the most potential, assuming we use Android to build our next customer or employee facing product.
Visit the Android developers blog or developer.android.com to get a full list of all features.
Customize regional preferences
Android 14 supports the setting of regional preferences that are not based on location. This way, devices can be further customized to user preferences and use cases.
The new settings menu enables you to change the following regional preferences:
- Temperature units – e.g. Celsius rather than Fahrenheit
- First day of the week – e.g. beginning of the week is Monday instead of Sunday
- Numbering systems – e.g. Bengali instead of Arabic numeral
Android 14 takes another step to get accessible for everyone by implementing non-linear font scaling. Allowing low-vision users to scale fonts up to 200% while keeping the proportion hierarchy in place and the text readable. With more Android-powered devices used in customer-facing roles, like Self-checkout services, accessibility is important.
Clone apps directly on your device
Starting from Android 14 it is possible to clone your applications without the need for a third-party app to do so. You can now run one app multiple times on your device.
This is useful if you want to use several accounts for employee facing products. Not all apps allow multi-user login. You can now clone apps for all your accounts.
New app store UX improvements
The new PackageInstaller APIs should help third-party app stores to enhance the user experience. We expect that known Google Play Store alternatives will include these improvements on time. They will also come in handy when providing a custom app store for customers or employees.
There are 4 planned improvements shipping with Android 14:
- Pre-approval of update installation
- Update ownership for app updates
- Scheduled app updates at less-disruptive times
- Seamless APK split installation
Pre-approval of update installation
The new requestUserPreapproval() sends a user approval request before downloading an APK package. Once the user gives an okay, the app store downloads and installs the app or update package. This happens in the background. In older versions, up to Android 13, the OS asked for approval after downloading the APK but before installation.
This change reinforces the following best practices the Android Open Source Project (AOSP) introduced with former versions:
- User control
- Data minimization
Update ownership for app updates
The setRequestUpdateOwnership()method claims the responsibility for future app updates. Enabled, this capability allows only the update owner to install updates to the app. The owner, in this case, is the expected app store. Other app stores or installers need user permission. Once the user gave permission, update ownership of the expected app store is lost.
This is a great way to ensure apps are ideally updated from trusted sources and warns users from using other installers to do so.
Scheduled app updates at less-disruptive times
The InstallConstraints API helps app stores to avoid killing running app’s with automatic updates. Meaning the user stays unbothered by app updates. The updates get carried out while the app lays idle.
Important for customer facing devices, as the functionality of the device stays always maintained.
Seamless APK split installation
The PackageInstaller allows shipping app features in separate APK files. Split APKs allow for more targeted app updates based on device specifications. New in Android 14 is the setDontKillApp() method. When splits get installed, this method prevents killing the app's running processes.
This way app stores can install app split updates while apps are currently in use.
Block installation of apps built for Android Lollipop
With over 3 billion active Android devices, Android is the fastest growing operating system (OS) worldwide. Which makes Android attractive to users but also to hackers. One more reason why OS and app updates are so important.
Newer Android versions close known vulnerabilities in older API levels. In Android 14, installing apps with a targetSdkVersion before 23 is no longer possible. Malicious apps use targetSdkVersion 22 to avoid the runtime permission model (introduced in Android 6). This affects apps developed for Android Lollipop (Android 5) and older.
Devices updating to Android 14 are still able to run those legacy apps, but cannot install them. It’s time to move on and update apps still running on old targetSdkVersions.
Refreshing Android’s core functionality
Android 14 includes important changes for app and platform development. The new version comes with Android Runtime (ART) updates. ART14 makes app execution faster and code compilation more efficient.
Android Runtime (ART) powers the Android OS. All apps and most OS functions rely on ART and the core APIs provided by it.
ART 14 refreshes the core libraries with the latest OpenJDK LTS releases, Java 17 language support and improvements in:
- Core API
“While parts of Android are customizable by device manufacturers, ART is the same for all devices”, meaning these improvements come for a wide range of Android devices; in case those devices receive regular updates.
The Android developer blog states that “600 million devices are enabled to receive the latest Android Runtime (ART) update” including all devices receiving the Android 14 update, running Android 12+ and Android Go devices (soon).
Unconfirmed Android Upside-Down Cake rumors
As with every Android release there are some rumors spread to keep an eye on. There are the following features that might be part of the next release, but are not officially confirmed yet:
Get started with Android 14
Android 14 Beta 5 has everything to start testing app compatibility. But if you are looking to build products, you’ll need to wait for the stable Android 14 release.
Emteria helps you to build Android-based products at scale, customize the OS and secure it with regular updates. As for now, we are waiting on the Android 14 stable version to make it accessible on both off-the-shelf hardware like the Raspberry Pi and on custom board designs. Sign up for our newsletter to stay tuned!
- Developer Android - Android 14 Features
- Google Android Developers Blog - First developer preview Android 14
- Google Android Developers Blog - Latest ARTwork on hundreds of millions of devices
- Android Authority - Android 14 features: Everything you need to know
- Google Watchblog - Android 14: Neues Betriebssystem startet in Kürze – alle wichtigen Neuerungen im Überblick
Android USB permissions
Remember granted USB permissions
How to remember USB user permissions given and stop Android from asking each time a familiar USB device is reconnected?