20 Feb 2020
What You Need to Know about Google’s Android™ 10 Release – A Technical Perspective
As you may have seen from some of the recent press releases, Intrinsyc was acquired by Lantronix Inc. (LTRX) headquartered in Irvine, CA. Lantronix is a global provider of secure data access and management solutions for Internet of Things (IoT) assets and complements Intrinsyc’s Snapdragon product lines. This is our first blog release under Lantronix and we are happy to continue to bring news and information on continued developments for our Open-Q™ development kits, System on Modules (SOMs) and Mobile Hardware development kit.
Today’s topic is the latest Android release from Google, Android 10.
Google released Android 10 most recently, bringing added control on Device and App Privacy and Security, along with other features such as extended Neural Network and Thermal APIs, and modularized software update via Project Mainline. Android 10 BSPs are available already for Intrinsyc’s Open-Q 626 Development kit and Snapdragon™ 855 Mobile Hardware Development KIT (HDK), with software releases for other development kits to follow.
Below are some of the major changes that are of interest to application developers, BSP developers, or OEMs who use Intrinsyc’s development kits.
Android 10 has several changes that provide added privacy. Some of them are:
- Apps will be allowed to access location data (and other data) only when they are running in the foreground.
- The system places restrictions on starting activities from the background.
- By default, apps are given scoped access into external storage, meaning that they have external storage access to only app files and media created by the app.
Wherever such restrictions are introduced, Android provides alternate options (e.g., to receive periodic location updates, to run a timed activity without use input, or to have an app access another app’s folder) without breaking privacy, and with the user’s concurrence. It is necessary to migrate apps to API level 29 for them to take advantage of such alternate options.
- TLS 1.3 is enabled by default, leading to enhanced Transport Layer security. TLS 1.3 deprecates less secure or obsolete cryptographic algorithms and adds support for new ones.
- The OS Platform has been hardened in terms of Sandboxing of some components and other changes such as the addition of bounds and integer checking, to reduce vulnerabilities.
Android 10 modularizes some system components, allowing framework components to be updated with critical bug fixes and other improvements as needed, without affecting lower-level vendor implementations or higher-level apps and services. These updates can now be done at modular granularity instead of as a full system update, enabling upgrades outside of normal release cycles. Lantronix software development services can assist with all your device upgrade needs.
App usage statistics
Android 10 accurately tracks app usage with UsageStats when apps are used in split-screen or picture-in-picture mode. Additionally, Android 10 correctly tracks instant app usage.
Restrictions on non-SDK APIs
Android 10 adds more restrictions on non-SDK APIs to improve stability, and for consistency in app development and behavior. Apps are restricted from using APIs that are not in the Android Framework Package Index. Android provides several ways to ensure newly developed apps confirm to these restrictions using debuggable apps, and Veridex/Lint tool.
Since this change affects developers, there are options provided to access non-SDK APIs in the development phase using ADB commands depending on API level. For development purposes, these features may be accessible in the Open-Q development kit BSPs, and Lantronix software development services can assist with any security needs in your final production software releases.
To take advantage of these new features, and to ensure apps work seamlessly when moving from previous Android versions to Android 10, it is suggested to update them to API level 29.
More details on the changes in Android 10 are explained by Google here.
Dinesh RV, SW Engineering Manager, Lantronix IES, India
Ganesh Biradar, Embedded SW Engineer, Lantronix IES, India
For more information please contact: