All the sessions from Transform 2021 are available on-demand now. Watch now.
After announcing 2.5 billion active Android devices at its I/O 2019 developer conference in Mountain View today, Google launched the third Android Q beta. If you’re a developer, this is your third Android Q preview, and you can start testing your apps against this release by downloading it from developer.android.com/preview.
The preview includes an updated SDK with system images for the Pixel, Pixel XL, Pixel 2, Pixel 2 XL, Pixel 3, Pixel 3 XL, and the official Android Emulator. If you’re already enrolled in the beta and received Android Q Beta 1 and Beta 2 on your Pixel device, you’ll automatically get the update to Beta 3. Google is also bringing Android Q Beta 3 to third-party phones, bringing the total to 21 devices from 13 brands.
Here is the full list of devices: Asus ZenFone 5Z, Essential Phone, Huawei Mate 20 Pro, LGE G8, Nokia 8.1, OnePlus 6T, Oppo Reno, Realme 3 Pro, Sony Xperia XZ3, Tecno Spark 3 Pro, Vivo X27, Vivo Nex S, Vivo Nex A, Xiaomi Mi 9, Xiaomi Mi Mix 3 5G, Google Pixel 3, Google Pixel 3 XL, Google Pixel 2, Google Pixel 2 XL, Google Pixel, and Google Pixel XL.
Google launched Android Q Beta 1 in March and Android Q Beta 2 in April. It’s moving much faster than in previous Android betas — three weeks between developer previews is unheard of. To help Google keep the betas coming, you can submit feedback, as well as file platform issues, app compatibility issues, and third-party SDK issues.
Beta 1 brought additional privacy and security features, enhancements for foldables, new connectivity APIs, new media codecs and camera capabilities, NNAPI extensions, Vulkan 1.1 support, and faster app startup. Beta 2 added multitasking Bubbles, a foldables emulator, and a new MicrophoneDirection API.
Beta 3 features
Android Q betas have already brought over 50 features and improvements around user privacy and security, Google said today. For Beta 3, Google emphasized that Android Q is focused on innovation, security and privacy, and digital well-being.
Oh, and the company mentioned that Android Q is “the first operating system to support 5G.” Qualcomm and Google worked on 5G support together for Android Q. Speaking of future technologies, Android Q Beta 3 continues to improve support for foldables:
Android Q gives users greater control over when apps can get location. Apps still ask the user for permission, but now, you’ve got greater choice over when to allow access to your location — such as only while the app is in use, all the time, or never.
On a somewhat related note, Android Q restricts app launches from the background, preventing them from unexpectedly jumping into the foreground and taking over focus.
To prevent tracking, Android Q limits access to non-resettable device identifiers, including device IMEI, serial number, and similar identifiers. And it randomizes MAC address when devices are connected to different Wi-Fi networks and gates connectivity APIs behind the location permission.
Biometrics and Encryption
Google has extended its BiometricPrompt authentication framework to support system-level biometrics, and it’s extended support for passive authentication methods such as face. There are now explicit (think high-value transactions like payments) and implicit (think easily reversible transactions like sign-in and auto-fill) flows. In the explicit flow (first introduced in Android Pie and now the default), the user must perform an action to proceed, such as tap their finger to the fingerprint sensor. If they’re using face or iris to authenticate, then the user must click an additional button to proceed. In the implicit flow, the user does not require an additional user action.
Android Q also adds support for TLS 1.3, the latest version of the Transport Layer Security (TLS), which succeeds the Secure Sockets Layer (SSL) protocol. In short, TLS 1.3 helps securely send information over the internet, bringing major improvements in security, privacy, and performance. Enabling TLS 1.3 by default means the latest version is used for all TLS connections made through Android’s TLS stack — Conscrypt — regardless of target API level. This isn’t a huge deal since Chrome and Firefox already use TLS 1.3, but for cases when apps don’t rely on a browser, it’s important to have.
Alongside Q, Google is rolling out Project Mainline, which keeps Android devices up-to-date with code changes delivered via Google Play. Google says the feature will enable the team to update specific OS components without requiring a full system update.
Project Mainline modules download from Google Play in the background and load the next time the phone starts up. The source code lives in the Android Open Source Project (AOSP) Google says, and updates will be fully open-sourced as they are released.
All devices running Android Q or later will be able to get Project Mainline.
Suggested actions in notifications
Starting in Beta 3, Google is enabling system-provided smart replies and actions — both system-generated and developer-supplied — that are inserted directly into notifications by default.
Android Q suggestions are powered by an on-device AI service — the same that backs Google’s text classifier entity recognition service. Processing happens on-device, and because suggested actions are based on the TextClassifier service, they can take advantage of new capabilities added in Android Q, such as language detection, and can be used to generate system-provided notifications.
Starting in Android Q Beta 3, there’s a system-wide dark theme that can be activated by going to Settings > Display, using the new Quick Settings tile, or turning on Battery Saver. It changes the system UI to dark and enables the dark theme of apps that support it. Apps can build their own dark themes, or they can opt-in to a new Force Dark feature that lets the OS create a dark version of their existing theme.
Android Q introduces a new gestural navigation mode that hides the navigation bar area and allows apps and games to use the full screen. It retains the familiar Back, Home, and recents navigation through edge swipes rather than visible buttons.
Users can switch to gestures in Settings > System > Gestures. There are currently two gestures: Swiping up from the bottom of the screen takes the user to the Home screen, holding brings up Recents. Swiping from the screen’s left or right edge triggers the Back action.
Beta 3 introduces Live Caption, which automatically captions media that’s playing audio on your phone. And Smart Reply is now built into Android Q’s notification system, and predicts your next action (such as when someone sends you an address, you can open it in Google Maps).
Android Q will have a Focus mode, which lets you select the apps you find distracting and silence them until you say otherwise. Google is also making Family Link part of every Android device and adding features like bonus time and the ability to set app-specific time limits.
The goal of the third beta is the same as the first two: Let early adopters and developers play with the build early so they can explore new features and APIs for apps, test for compatibility, and give feedback.
Last year, there were five developer previews (four betas). This year, Google is planning six betas in total. Three betas down, three to go. Here’s the preview schedule:
- March: Beta 1 (initial release, beta)
- April: Beta 2 (incremental update, beta)
- May: Beta 3 (incremental update, beta)
- June: Beta 4 (final APIs and official SDK, Play publishing, beta)
- Beta 5 (release candidate for testing)
- Beta 6 (release candidate for final testing)
- Q3: Final release to AOSP and ecosystem
Google is asking developers to make their apps compatible with Android Q so that their users can expect a seamless transition when they upgrade. To get started, install your current app from Google Play onto a device or emulator running Beta 3, work through the user flows, and make sure it handles the Android Q behavior changes. If you find issues, fix them in the current app without changing your targeting level (migration guide, privacy checklist). When you’re done, update your app’s targetSdkVersion to ‘Q’.