Skip to main content

Emulator

Struct Emulator 

Source
pub struct Emulator { /* private fields */ }
Expand description

Handle to a running emulator instance

This can represent an emulator we spawned with an EmulatorConfig, or an already-running emulator we discovered with list_emulators.

Implementations§

Source§

impl Emulator

Source

pub fn serial(&self) -> &str

Get the serial number of this emulator (if known)

Source

pub fn is_owned(&self) -> bool

Check if this instance represents an emulator we spawned

Source

pub fn discovery_path(&self) -> &Path

Source

pub fn metadata(&self) -> &HashMap<String, String>

Get a reference to all emulator metadata from the runtime .ini file

Source

pub fn get_metadata(&self, key: &str) -> Option<&str>

Get a specific metadata property value

Source

pub fn requires_jwt_auth(&self) -> bool

Check if this emulator requires JWT authentication

Source

pub fn avd_name(&self) -> Option<&str>

Get the AVD name

Source

pub fn avd_id(&self) -> Option<&str>

Get the AVD ID

Source

pub fn avd_dir(&self) -> Option<&str>

Get the AVD directory path

Source

pub fn emulator_version(&self) -> Option<&str>

Get the emulator version

Source

pub fn emulator_build(&self) -> Option<&str>

Get the emulator build ID

Source

pub fn port_serial(&self) -> Option<u16>

Get the serial port number

Source

pub fn port_adb(&self) -> Option<u16>

Get the ADB port number

Source

pub fn cmdline(&self) -> Option<&str>

Get the command line used to launch the emulator

Source

pub fn grpc_endpoint(&self) -> String

Get the gRPC endpoint URL for this emulator

Source

pub fn grpc_port(&self) -> u16

Get the gRPC port

Source

pub async fn connect( &self, timeout: Option<Duration>, allow_basic_auth: bool, ) -> Result<EmulatorClient>

Connect to the emulator’s gRPC controller

This method will automatically retry the connection if it fails, waiting up to the specified timeout duration. At least one connection attempt is always made before checking the timeout.

§Arguments
  • timeout - Maximum time to wait for the connection. If None, will wait indefinitely.
  • allow_basic_auth - If true, will use basic auth (grpc.token / console token) if available.
§Errors

Returns an error if JWT authentication setup fails.

Source

pub async fn terminate(&self) -> Result<()>

Terminate the emulator process and wait for it to fully exit

If this instance owns the process (spawned via spawn()), this will kill the process and wait for it to exit.

If this instance was discovered via find(), this returns an error as we don’t own the process.

To terminate a discovered emulator, use ADB commands directly.

Trait Implementations§

Source§

impl Debug for Emulator

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Drop for Emulator

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more