How to use the command `dumpsys` (with examples)
- Android
- December 25, 2023
Description:
The dumpsys
command is used to provide information about Android system services. It can only be used through adb shell
and is commonly used for diagnostic purposes. This command allows developers to retrieve detailed information about various system services and their current status.
Use case 1: Get diagnostic output for all system services
Code:
dumpsys
Motivation:
The motivation behind using this example is to gain a comprehensive overview of all the system services running on an Android device. This can be helpful for troubleshooting or identifying any issues related to system services.
Explanation:
Executing dumpsys
without any arguments will display diagnostic output for all system services. This information includes details about activities, processes, battery usage, memory, network, and various other services running on the Android device.
Example Output:
Activity Manager (activities, services, broadcast receivers, content providers, etc.)
Battery Service (battery statistics, charging state, etc.)
Clipboard Service (manages the clipboard on the device)
...
Use case 2: Get diagnostic output for a specific system service
Code:
dumpsys service
Motivation:
The motivation behind using this example is to retrieve detailed diagnostic output for a specific system service. This can be useful when examining the inner workings of a particular service and understanding its behavior.
Explanation:
By specifying the name of the system service after the dumpsys
command, e.g., dumpsys service
, the command will display diagnostic output specifically related to that service. This includes information about the service’s state, attributes, and any relevant statistics.
Example Output:
Service Name: service
State: Running
Start Time: 2021-11-01 10:00:00
...
Use case 3: List all services dumpsys
can give information about
Code:
dumpsys -l
Motivation:
The motivation behind using this example is to obtain a list of all the system services that dumpsys
can provide information about. This is helpful for developers to identify and explore available services for debugging or development purposes.
Explanation:
The -l
argument is used to list all the services that dumpsys
can give information about. By executing dumpsys -l
, a comprehensive list of system services along with their corresponding service names will be displayed.
Example Output:
Activity Manager (activities, services, broadcast receivers, content providers, etc.)
Battery Service (battery statistics, charging state, etc.)
...
Use case 4: List service-specific arguments for a service
Code:
dumpsys service -h
Motivation:
The motivation behind using this example is to obtain a list of service-specific arguments for a particular system service. This can be helpful when exploring the available options for interacting with a specific service.
Explanation:
By appending -h
after the service name, e.g., dumpsys service -h
, the command will display a list of service-specific arguments along with their descriptions. These arguments can be used to configure or modify the behavior of the service.
Example Output:
--enable: Enables the service
--disable: Disables the service
--verbose: Displays verbose output
...
Use case 5: Exclude a specific service from the diagnostic output
Code:
dumpsys --skip service
Motivation:
The motivation behind using this example is to exclude a specific system service from the diagnostic output. This can be useful when developers want to focus on other services and disregard information related to a particular service.
Explanation:
By using the --skip
flag followed by the name of the service to be excluded, e.g., dumpsys --skip service
, the command will exclude that specific service from the diagnostic output.
Example Output:
Activity Manager (activities, services, broadcast receivers, content providers, etc.)
Battery Service (battery statistics, charging state, etc.)
...
Use case 6: Specify a timeout period in seconds
Code:
dumpsys -t 8
Motivation:
The motivation behind using this example is to specify a custom timeout period for the dumpsys
command. This allows developers to control the amount of time the command should wait before timing out.
Explanation:
By including the -t
option followed by the desired timeout period in seconds, e.g., dumpsys -t 8
, the dumpsys
command will wait for the specified duration before timing out. The default timeout period is 10 seconds.
Example Output:
Activity Manager (activities, services, broadcast receivers, content providers, etc.)
Battery Service (battery statistics, charging state, etc.)
...
Conclusion:
The dumpsys
command is a powerful tool for obtaining diagnostic information about Android system services. It allows developers to gain insights into the behavior and status of various services, aiding in debugging and development. The different use cases illustrated in this article provide a comprehensive understanding of how to utilize this command effectively.