Research / LAB-0002

Android bug reports, category by category

An Android bug report is one zip file that holds a dump of dozens of system services and logs. This article sorts what is inside into 22 categories, says which questions each can answer, and shows how the contents differ between manufacturers and Android versions in our sample.

  • Daniel Addai, SectraTEK Lab
  • Version 1.1
  • First published 2026-10-27; this version 2026-11-07
  • CC BY 4.0
  • Early research

Cite as

Addai, D., SectraTEK Lab (2026). Android bug reports, category by category. LAB-0002, version 1.1. https://lab.sectratek.com/research/lab-0002/

Citation guide

Methodology note

Drafted with AI assistance and reviewed by the author before publication.

Summary

  • A bug report is mostly a set of snapshots. Each section is the state of one service at the moment of capture. A few sections hold a window of events: logs, usage events, battery history.
  • In our sample of five reports a report had between 355 and 669 sections. The 22 categories below cover the ones that carry evidence for common questions.
  • Core sections such as package, app ops, battery statistics and the system log were in all five reports. Vendor sections were in one or two.
  • Three of the five reports had sections cut by the device time limit. A cut section is not a clean one: it says nothing about what it did not reach.
  • A bug report cannot give file contents, message bodies, network destinations or ADB keys, and it reaches back about a day for most event sections.

What a bug report is

A bug report is a zip file the phone builds on request, from developer options or from a computer with adb bugreport. Its main file is a long text file in numbered sections, usually headed by the name of a system service (for example DUMP OF SERVICE appops) or a log. Beside it sit a few other parts: copies of some files, protobuf dumps, and hardware interface listings.

It was written to help a developer find a fault, not to answer questions about a person, so its order follows the system and not the question. That is why this article sorts it by question.

  • 5Reports read
  • 355 to 669Sections per report
  • 3 of 5Reports with cut sections

Counts from our sample of five reports, not a statistic.

The categories

We group sections into 22 categories. The grouping is by hand, and some choices are judgment calls (the database section sits under storage, the content and sync sections under accounts). Pick a category to see what it holds, which questions it can answer, and where it stops.

Device and software

Access and policy

Activity

Connectivity

Power, location and sensors

Logs and failures

Device and software

Device and build

The description of the build: Android version, patch level, build identity and the properties the system reports about itself.

Questions it can answer

  • Which Android version and patch level is this?
  • Is this the manufacturer build the examiner expects?
  • Which time zone data does the device carry?

Where to look

System properties, report header, time zone data, hardware properties, build flags (3 of 5), platform compatibility (3 of 5), fonts.

Limit

Values at capture time. A property that changed earlier is not shown unless the section keeps history.

Anchor section: SYSTEM PROPERTIES

Present in 5 of 5 reports (sample of 5, not a statistic).

Select a category, or move between categories with the arrow keys. Dots show in how many of the five sample reports the anchor section was present.

Show this figure as a table
The 22 categories with their anchor section and what each holds
CategoryAnchor sectionIn reportsWhat it holds
Device and buildSYSTEM PROPERTIES5 of 5The description of the build: Android version, patch level, build identity and the properties the system reports about itself.
Installed apps and componentspackage5 of 5Every installed package with its version, installer, install and update times, flags and the components it declares.
Settings and configuration flagssettings5 of 5The values of the settings tables, and on Android 16 a history of changes to them.
Vendor and hardwareHARDWARE HALS5 of 5What the manufacturer added: its own services and their dumps, next to the common hardware interface list.
Permissions, app ops and rolesappops5 of 5Which permissions each app holds, which operations it is allowed to perform, and when an operation was last used.
Security and device policylock_settings3 of 5Whether a screen lock is set, which biometrics are enrolled, whether a device administrator or management policy is active, and the ADB state.
Accounts, users, sync and backupaccount5 of 5Which accounts are on the device and of what type, which users exist, which sync adapters ran and when, and the backup state.
App usageCHECKIN USAGESTATS5 of 5Which apps came to the foreground and left it, over about the last 24 hours, with the usage buckets the system assigned.
Running processes, memory and app killsactivity5 of 5What was running at capture, how much memory each app held, and why recent processes were stopped.
Alarms and jobsjobscheduler5 of 5Work apps have scheduled for later, and the alarms that were set or fired.
Notificationsnotification5 of 5Notification channels per app, the apps allowed to listen to notifications, and recent notification records.
Display, input and accessibilityinput_method4 of 5The keyboards installed and selected, the accessibility services that are enabled, and the display and window state.
Network and connectivitynetpolicy and connectivity5 of 5The network state at capture: interfaces, policy and restrictions, resolver settings, and where it exists, per-app data counters.
Wi-Fiwifi5 of 5Saved networks, connection events and the scanner state.
Bluetooth, NFC and USBbluetooth_manager5 of 5Paired Bluetooth devices and recent adapter events, NFC state, and USB mode and connection events.
Telephony and messagingRADIO LOG5 of 5The radio layer: registration state, carrier configuration, subscriptions and what the radio logged.
Battery and powerbatterystats5 of 5Per-app power use, screen and charging events and idle behaviour, over about one day.
Location and sensorslocation5 of 5The state of the location manager: providers, and the apps that request location.
Camera, microphone and mediamedia.camera5 of 5Events of apps that use the camera, audio state and which app is projecting or recording.
Storage, filesystem and databasesdbinfo5 of 5Mounted volumes, free space and the databases apps have open, by name and size.
LogsSYSTEM LOG5 of 5The system and event logs, and the kernel log of the last boot where it is kept.
Boot, crash, ANR and tombstonesdropbox5 of 5Crash and not-responding records, native crash dumps, why the device last restarted, and whether an update ran.
Figure 1Category map: 22 categories of what a bug report can hold, grouped by the kind of question they answer. Source: section index of five bug reports from our test collection. Section names and counts only; sample of 5, not a statistic.

How far back it reaches

Most sections are a snapshot, so they cannot be placed on a timeline. Event sections have a window, and the window is short. Do not place a dump-time snapshot on a timeline as if it were an event.

Table 1. How far back each kind of section reaches (sample of 5, not a statistic)
Kind of sectionWindow in our sampleNote
System log (logcat)From a few minutes to about 3 hours (the dense body of the log)The window differs between reports. A few older stray lines can sit above the body, so the first line is not the start of the window; find where the dense part begins, and read the last line.
Battery historyAbout 1 dayPer-app power and screen events.
Usage eventsAbout 24 hoursForeground and background changes.
Settings historyAndroid 16 only in our sampleChanges to setting values, where the build keeps them.
Package, permissions, accounts, Wi-FiState at captureA snapshot. It is not an event history.

What changes between versions and vendors

The same Android version can differ between manufacturers, and the same manufacturer can differ between versions. Figure 2 compares five reports. Switch the columns to Android version order to see whether a difference follows the version or the manufacturer.

  • Present
  • Cut by the device time limit
  • Absent from the report
Which sections are present, cut or absent in each of five sample bug reports
SectionReport ASamsungAndroid 16Report BSamsungAndroid 16Report CHuaweiAndroid 10Report DMotorolaAndroid 15Report ETranssion-brandAndroid 10
In all five reports
System propertiesPresentPresentPresentPresentPresent
Package listCutPresentPresentPresentPresent
App opsPresentPresentPresentPresentPresent
Activity managerCutPresentPresentPresentCut
Battery statisticsPresentPresentPresentPresentPresent
System logPresentPresentPresentPresentPresent
Dropbox entriesPresentPresentPresentPresentPresent
Cut by the device time limit in some reports
Database infoPresentCutPresentPresentPresent
Differs by manufacturer or version
Per-app data usagePresentPresentAbsentAbsentAbsent
Lock settingsPresentPresentAbsentPresentAbsent
Samsung Wi-Fi extensionCutPresentAbsentAbsentAbsent
Samsung security servicesPresentPresentAbsentAbsentAbsent
Motorola settings serviceAbsentAbsentAbsentPresentAbsent
Huawei power managerAbsentAbsentPresentAbsentAbsent
Transsion performance frameworkAbsentAbsentAbsentAbsentPresent
Update engineAbsentAbsentAbsentPresentAbsent
Sections in the report622669422551355
Cut by the device time limit35003

17 rows shown.

Figure 2What differs between five reports: manufacturer family and Android version. Most core sections are in all five, vendor sections are not, and some sections were cut by the device time limit. Source: section index of five bug reports from our test collection (Samsung twice, Huawei, Motorola, Transsion-brand; Android 10, 15 and 16). Sample of 5, not a statistic.

Two things stand out in this sample. Vendor sections (Samsung, Motorola, Huawei, Transsion-brand) exist only on that vendor and have no common layout. And the device time limit cut sections in the larger reports of both Samsung phones and in one of the two Android 10 reports, which is why presence alone is not enough: a cut section has to be read as not captured.

What this does not prove

Five reports are a handful, not a survey. A row that differs here may not differ across a manufacturer's range. Android 11 to 14 were not in our sample.

What a bug report cannot give

  • File contents and message bodies.
  • Short windows: the body of the system log ran from a few minutes to about three hours, battery history about a day, usage events about 24 hours.
  • Per-app network history, except in the two Samsung reports of our sample.
  • Network destinations.
  • ADB keys or signer certificates.
  • Events for sections that are dump-time snapshots.

A section cut by the device time limit says "not captured", never "nothing happened".

Reproduce

  1. On a test device you own, take a bug report from developer options, or run adb bugreport.
  2. Open the main text file and list its section headings. Count them.
  3. Check the end of each large section for a note that it was cut by the time limit.
  4. Compare your headings with Figure 2, and with the anchor sections in Figure 1.

Publish counts and section names, never values from a report that holds personal data.

Open-source parsers

Merged The category names above follow the grouping we use for bug report parsers in an open-source parser project, under the heading "Android Bug Report". Seven pull requests are merged in ALEAPP: #1795, #1796, #1809, #1816, #1817, #1818 and #1819. Categories that these pull requests do not cover may not have a parser yet. Each parser needs a synthetic test fixture, because real reports hold personal data. See Open Source for status.

Appendix: downloads

Section names and counts only. Licence: CC BY 4.0.

  • lab-0002-category-map.json JSON

    The 22 categories of Figure 1 with sections, questions and limits.

    15.7 KB. SHA-256:

    d9df5ec1a8ea105ec56baf6677135c740cd72b4082982161bc3366ba087b70b4
    Download lab-0002-category-map.json
  • lab-0002-section-matrix.csv CSV

    The table of Figure 2, one row per section and one column per report.

    2.0 KB. SHA-256:

    0a8d92407dcfa359162460cbeb58fbe7769a36d90912c30a0e8d6a0d3987bceb
    Download lab-0002-section-matrix.csv

References

  1. Android Developers. Capture and read bug reports (documentation). developer.android.com
  2. ALEAPP, Android Logs, Events, And Protobuf Parser (open source). github.com/abrignoni/ALEAPP
  3. Addai, D., SectraTEK Lab. Samsung recovery and reset trail. LAB-0001

Version history and corrections

Version history
VersionDateChange
1.02026-10-27First publication.
1.12026-11-07Open-source status updated: the bug report parsers are merged in ALEAPP (#1795, #1796, #1809, #1816 to #1819).

Corrections log

No corrections have been published for this article. Corrections to any article are listed on Corrections.