Install app
adb_installInstall APKs, split APKs, or .apks/.xapk/.apkm bundles over ADB to an Android device. Dry-run by default reports what would install; set dry_run=false to perform installation.
Instructions
Installs only with dry_run=false; by default it reports what would be installed and installs nothing. Installs an APK from the server's file roots (file_roots). apk_path takes a single .apk, an array of split-APK paths, or one .apks/.xapk/.apkm bundle. Without apk_path it installs nothing and lists the installable files in file_roots, newest first, with the full path to pass as apk_path: start there when the user says "install what I downloaded". Bundle splits are chosen from the device ABI list, density and locale. No matching ABI split is a refusal; a density mismatch is not. Flags -r, -t and -g are applied by default. The reverse is adb_uninstall, or adb_app for a removal with a backup and a rollback.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| abi | No | Bundle only: force an ABI instead of the device default (e.g. armeabi-v7a) | |
| dir | No | Only without apk_path: the list shows the top level and one level of subfolders; for a deeper folder pass it here, listed the same way. Ignored when apk_path is given. | |
| serial | No | Device serial from adb_devices. Optional when exactly one device is connected. | |
| density | No | Bundle only: force a screen density in dpi instead of the device value | |
| dry_run | No | Default true: report the files, the command and the device (for a bundle, also the chosen splits) and install nothing. Only false installs. | |
| locales | No | Bundle only: extra language splits to include alongside the device language (e.g. ["ru"] on an en-US device) | |
| apk_path | No | Single APK path, array of split-APK paths, or one .apks/.xapk/.apkm bundle. Without it: a list of the installable files in file_roots, newest first; nothing is installed. |