Keep boot-time logs when the logcat service restarts after a reboot (#1074) `AndroidDevice.handle_reboot()` stops all services before the reboot and starts them again once `sys.boot_completed` is set. `Logcat.start()` did not distinguish that restart from the first start of a run: it cleared the device buffer (`Config.clear_log` defaults to True) and started `adb logcat -T 1`, which only follows from the most recent line. Everything logged between kernel boot and boot completion was therefore dropped from `adb_logcat_file_path`, and `get_lines()` / `wait_for()` / `listen()` could not see boot-time events such as the MediaProvider `MEDIA_MOUNTED` scan, even though they were still available via a raw `adb logcat -d`. `start()` now reads `/proc/sys/kernel/random/boot_id` and, when it differs from the id seen by the previous start, treats the call as a restart after a reboot: the buffer (which only holds this boot's logs) is not cleared and the new `adb logcat` process dumps the whole buffer before following. A stop/start on the same boot, or when the boot id cannot be read, keeps the existing clear-and-follow behavior. `pause()`/`resume()` are unchanged.
Mobly is a Python-based test framework that specializes in supporting test cases that require multiple devices, complex environments, or custom hardware setups.
Here are some example use cases:
Mobly can support many different types of devices and equipment, and it's easy to plug your own device or custom equipment/service into Mobly.
Mobly comes with a set of libs to control common devices like Android devices.
While developed by Googlers, Mobly is not an official Google product.
Mobly requires python 3.14 or newer.
Mobly tests could run on the following platforms:
You can install the released package from pip
pip install mobly
or install from the source to use the bleeding edge:
git clone https://github.com/google/mobly.git cd mobly pip install -e .
You may need sudo for the above commands if your system has certain permission restrictions.
Mobly 101 - Simple test examples to get you started with Mobly.
Mobly Instrumentation Runner Tutorial - How to use Mobly's Android instrumentation test runner to run Android instrumentation tests.
Mobly AndroidDevice Service - Create custom service to attach to Mobly's AndroidDevice controller.
The Mobly Snippet projects let users better control Android devices.