With a new version of Android, comes a new Android Compatibility Definition Document (CDD) and with Android 8.0 (Oreo) having now arrived, so has the latest CDD. As to be expected, there are a number of changes from previous document versions, and one of the most recent to be noted relates directly to the use of dumpsys. This is something which largely applies to OEMs and developers as dumpsys is a feature which can be used in conjunction with the Android Debug Bridge (ADB) to gain additional information on how a device performs, or is performing. For instance, dumpsys is a tool that automatically collects information about a smartphone internally, and that information can then be recalled via ADB by using an appropriate command. Examples of some of the information which can be gained by using a dumpsys command, include details on battery stats, the fingerprint reader, notifications, and more. In fact, dumpsys is capable of outputting a serious amount of information about a device in one go. However, as those who make use of the feature for system information are typically only looking for details on one specific aspect of the system, commands act as a shortcut to obtaining just the information they are looking for.
As for the changes, the Android Oreo documentation specifically forbids OEMs from altering the “format or the contents” of these dumpsys commands. As a result, OEMs, or application developers for that matter, will no longer be able to make use of any non-generic dumpsys commands. While this will in some respects, limit some of the information that is available to OEMs and developers regarding a device’s performance, the suggestion is that this will lead to a more universal approach to dumpsys in general. One where commands will be usable on just about any Android Oreo-running device, in the same way, and universally understood. In short, it is less about restriction information and more about standardizing the process of obtaining that information.
Dumpsys aside, another recently spotted change to the CDD for Oreo was to do with the use of Oreo’s Background Execution Limits. The change being that OEMs and developers must adhere to the full use of Background Execution Limits going forward. To sum this feature up, Background Execution Limits aims to stop apps from performing any undue actions while running in the background. Something which not only is designed to ensure apps running in the foreground are not impeded by background apps, but also to improve system management and battery life in general.