Google just released Beta 2 of the Android 11 Beta program for developers. Beta 2 us to the Platform Stability milestone, which means that Android 11’s APIs and behaviours are finalised.
Platform Stability means that all app-facing surfaces and behaviours are now final in Android 11. This includes not only final SDK and NDK APIs, but also final system behaviours and restrictions on non-SDK interfaces that may affect apps.
This means that developers can now get started on final compatibility updates and publish them in time for the official release later in Q3.
With the platform now stable, Google is encouraging all app and game developers to start final compatibility testing and publish updates ahead of the final release.
Android 11: App Compatibility
Android 11 Beta 2 is all about app compatibility. For Android, the term app compatibility means that your app runs properly on a specific version of the platform, typically the latest version.
You can check this right now by installing your production app on a device or emulator running Android 11. Just test all of the user flows and features, and if the app looks and runs properly, then you’re done.
Google points out:
It sounds simple, but sometimes there’s more to it. With each release, we make integral changes that improve privacy and security, as well as implement changes that evolve the overall user experience across the OS. Sometimes these can affect your apps, so it’s important to take a look at the behaviour changes and test against them, then publish the compatible update to users. It’s a basic but critical level of quality.
App compatibility comes into play as users update to the latest version of Android, whether they’ve purchased a new device or installed an update on their current device. They’re excited to explore the latest version of Android, and they want to experience it with their favourite apps. If the apps don’t work properly, it’s a major issue – for users and for all of us.
So while there are a ton of new APIs and capabilities to explore, and more changes to consider when you’re ready to change your app’s targeting, start by testing your current app and releasing a compatible update first.
For testing your current app, start with the behaviour changes for all apps to see where it could be affected. Here are the top changes (these apply regardless of your app’s targetSdkVersion):
- One-time permission – Users can now grant single-use permission to access location, device microphone and camera. Details here.
- External storage access – Apps can no longer access other apps’ files in external storage. Details here.
- Scudo hardened allocator – Now the heap memory allocator for native code in apps. Details here.
- File descriptor sanitizer – Now enabled by default to detect file descriptor handling issues for native code in apps. Details here.
Remember to test the libraries and SDKs in your app for compatibility. If you find an issue, try updating to the latest version of the SDK, or reach out to the developer for help.
To learn about all of the developer features in Android 11, visit the Android 11 developer site.
Android 11 Beta 2
Sign-up for the Android 11 Beta is as easy as it was on all other betas. You head over to the Android Beta site, look for your supported device (Pixel 2, 3, 3a, and 4), tap on that device and enroll it.
Once you enroll, it shouldn’t take long before you’ll be prompted with a software update that brings the beta build. If you don’t see it, you can always head into Settings>System>Advanced>System update.
Alternatively, give Android Flash Tool a try for easy on-demand updates, and downloadable system images are also available. If you don’t have a Pixel device, you can use the Android Emulator in Android Studio or try a GSI image to run Android 11 on supported Treble-compliant devices.