What’s Changed
Automatic failure diagnostics
On any boot failure (timeout, crash, kernel fault), both the host log and device logcat (*:w) are automatically saved to $BITRISE_DEPLOY_DIR and their paths exported — no configuration needed. Log filenames include a timestamp to distinguish retries:
emulator_20260529_141500_host.log
emulator_20260529_141500_device_logcat.log
New inputs
host_debug_tags
Controls which emulator debug subsystems to log. Pass a comma-separated list of tags, e.g.:
init,avd,kernel,snapshot— logs initialization, AVD, kernel, and snapshot events (default quiet mode)all— full verbose output
When set, the host log is exported as $BITRISE_EMULATOR_HOST_LOG and deployed as a build artifact.
device_logcat_tags
Captures device-side logcat during the emulator run using Android’s componentName:logLevel filter format, e.g. *:w (all warnings), *:s ActivityManager:d (silent except ActivityManager at debug). The output is exported as $BITRISE_EMULATOR_DEVICE_LOGCAT_LOG.
New outputs
BITRISE_EMULATOR_HOST_LOG
Path to the emulator host process log file (stdout/stderr). Set automatically on any boot failure — even if you haven’t enabled debug mode — so you always have logs to investigate when a build fails. When host_debug_tags is set, this file is also available on successful runs.
BITRISE_EMULATOR_DEVICE_LOGCAT_LOG
Path to the device-side logcat output file. Captured automatically at warning level on boot failure. When device_logcat_tags is set, uses your specified filter on all runs.
Bug fixes
16KB page size images (API 37+)
Creating an AVD with tag: google_apis_ps16k and api_level: 37 previously failed with:
Error: Invalid --tag page_size_16kb for the selected package. Valid tags are:
google_apis
null
Google changed the valid avdmanager tag for ps16k images between API 36 and API 37. The step now lets avdmanager auto-select the tag, so this works correctly across all API levels.
API 37 package not found
Installing the API 37 system image previously failed with:
Warning: Failed to find package 'system-images;android-37;google_apis_ps16k;arm64-v8a'
Google uses android-37.0 (with a minor version) as the sdkmanager package identifier for API 37, not android-37. The api_level input now accepts string values, so api_level: "37.0" correctly installs the image.
New Contributors
- @benbitrise made their first contribution in chore: regenerate README from step.yml by benbitrise · Pull Request #66 · bitrise-steplib/steps-avd-manager · GitHub
Full Changelog: Comparing 2.0.2...2.1.0 · bitrise-steplib/steps-avd-manager · GitHub