-
Notifications
You must be signed in to change notification settings - Fork 71
Open
Description
Bazel 8 removed all native Android rules, including android_device, and I can't find any information about it.
How can I use emulators with bazel 8?
I wanted to set up an instrumentation test:
Stacktrace
bazel query --output=build @android_test_support//tools/android/emulated_devices/generic_phone:android_23_x86
ERROR: Traceback (most recent call last):
File "/home/simeonwarren/.cache/bazel/_bazel_simeonwarren/8d894fd52f9ebddc50ede8e0430ca405/external/+_repo_rules+android_test_support/tools/android/emulated_devices/generic_phone/BUILD.bazel", line 13, column 12, in <toplevel>
make_device(
File "/home/simeonwarren/.cache/bazel/_bazel_simeonwarren/8d894fd52f9ebddc50ede8e0430ca405/external/+_repo_rules+android_test_support/tools/android/emulated_devices/macro/make_device.bzl", line 120, column 16, in make_device
new_devices(
File "/home/simeonwarren/.cache/bazel/_bazel_simeonwarren/8d894fd52f9ebddc50ede8e0430ca405/external/+_repo_rules+android_test_support/tools/android/emulated_devices/macro/make_device.bzl", line 258, column 48, in new_devices
_new_devices_for_image_and_emulator(
File "/home/simeonwarren/.cache/bazel/_bazel_simeonwarren/8d894fd52f9ebddc50ede8e0430ca405/external/+_repo_rules+android_test_support/tools/android/emulated_devices/macro/make_device.bzl", line 327, column 24, in _new_devices_for_image_and_emulator
make_android_device(
File "/home/simeonwarren/.cache/bazel/_bazel_simeonwarren/8d894fd52f9ebddc50ede8e0430ca405/external/+_repo_rules+android_test_support/tools/android/emulated_devices/macro/make_device.bzl", line 350, column 11, in make_android_device
native.android_device(
Error: no native function or rule 'android_device'
Environment:
- Rules:
bazel_dep(name = "rules_android", version = "0.6.6") - OS:
Fedora Linux 41 (Server Edition) - Bazel:
8.4.2
It seems like I can use a local emulator, so it's not as big of a problem as I thought:
Bazel also supports testing directly on a locally launched emulator or connected device. Pass the flags --test_strategy=exclusive and --test_arg=--device_broker_type=LOCAL_ADB_SERVER to enable local testing mode. If there is more than one connected device, pass the flag --test_arg=--device_serial_number=$device_id where $device_id is the id of the device/emulator listed in adb devices.
Metadata
Metadata
Assignees
Labels
No labels