Android list Apps
android_list_appsList installed Android packages with version and system status; filter by package name substring. Use before opening an app to get the correct package identifier.
Instructions
List the packages INSTALLED on a device (pm list packages), enriched with versionName and whether each is a preinstalled system package. Run this BEFORE opening an app: a package name cannot be guessed — a plausible-looking id (a former app name, or the pattern a sibling app uses) is routinely not the installed one. Filter with query, a case-insensitive substring matched against the PACKAGE NAME. Android exposes no display label over adb (an app’s android:label lives in compiled resources that need aapt2 from the SDK), so a Chinese/Japanese label read off the screen will NEVER match here — match a package fragment, or tap the icon with android_find_text + android_tap_text. User-installed packages only by default; include_system:true adds the preinstalled ones. A listing that FAILS throws with the reason instead of returning an empty list, so count:0 always means the device really has no matching package. Concurrency-safe.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Case-insensitive substring matched against the package name, e.g. "settings", "chrome", "com.example". Omit to list everything. | |
| device | No | Target adb serial. Defaults to the streamed device, else the only online one. | |
| include_system | No | Include preinstalled system packages (default false: only user-installed apps, which is what "open <app>" normally means). |