Документация

Модуль PyMemuc

a wrapper for memuc.exe as a library to control virual machines

class PyMemuc(memuc_path: str | None = None, debug: bool = False)[исходный код]

Базовые классы: object

Класс для взаимодействия с инструментом командной строки memuc.exe для управления виртуальными машинами.

Параметры:
  • memuc_path (str, optional) – Путь к memuc.exe. Установите в None для автоопределения.

  • debug (bool, optional) – Включить режим отладки, по умолчанию False

change_gps_vm(latitude: float, longitude: float, vm_index: int | None = None, vm_name: str | None = None) Literal[True]

Изменить местоположение GPS на виртуальной машине, необходимо указать индекс VM или имя VM

Параметры:
  • latitude (float) – Широта

  • longitude (float) – Долгота

  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

Исключение:

PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

Результат:

True, если изменение GPS виртуальной машины прошло успешно

Тип результата:

Literal[True]

connect_internet_vm(vm_index: int | None = None, vm_name: str | None = None) Literal[True]

Подключить интернет на виртуальной машине, необходимо указать индекс или имя виртуальной машины

Параметры:
  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

Исключение:

PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

Результат:

True, если подключение к интернету виртуальной машины прошло успешно

Тип результата:

Literal[True]

create_app_shortcut_vm(package_name: str, vm_index: int | None = None, vm_name: str | None = None) Tuple[int, str]

Создать ярлык приложения на виртуальной машине, необходимо указать индекс или имя виртуальной машины

Параметры:
  • package_name (str) – Имя пакета

  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

Исключение:
  • PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

  • PyMemucTimeoutExpired – ошибка, если команда завершается по таймауту

Результат:

код возврата и вывод команды.

Тип результата:

tuple[int, str]

disconnect_internet_vm(vm_index: int | None = None, vm_name: str | None = None) Literal[True]

Отключить интернет на виртуальной машине, необходимо указать индекс или имя виртуальной машины

Параметры:
  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

Исключение:

PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

Результат:

код возврата и вывод команды.

Тип результата:

tuple[int, str]

execute_command_vm(command: str, vm_index: int | None = None, vm_name: str | None = None) Tuple[int, str]

Выполнить команду на виртуальной машине, необходимо указать индекс или имя виртуальной машины

Параметры:
  • command (str) – Команда для выполнения

  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

Исключение:

PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

Результат:

код возврата и вывод команды.

Тип результата:

tuple[int, str]

get_adb_connection(vm_index: int | None = None, vm_name: str | None = None, timeout: float | None = None) Tuple[str | None, int | None]

Получить информацию о подключении adb для виртуальной машины

Параметры:
  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

  • timeout (float, optional) – Таймаут для команды. По умолчанию - None.

Исключение:
  • PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

  • PyMemucTimeoutExpired – ошибка, если команда завершается по таймауту

  • PyMemucError – ошибка, если команда завершается неудачно

Результат:

IP-адрес и порт соединения adb в виде кортежа

Тип результата:

tuple[str | None, int | None]

get_app_info_list_vm(vm_index: int | None = None, vm_name: str | None = None, timeout: float = 10) list[str]

Получить список установленных приложений на виртуальной машине, необходимо указать индекс или имя виртуальной машины

Параметры:
  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

  • timeout (float, optional) – Таймаут для команды. По умолчанию - 10.

Исключение:
  • PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

  • PyMemucError – ошибка, если команда завершается неудачно

Результат:

список установленных пакетов на виртуальной машине

Тип результата:

list[str]

get_public_ip_vm(vm_index: int | None = None, vm_name: str | None = None) Tuple[int, str]

Получить публичный IP виртуальной машины, необходимо указать индекс или имя виртуальной машины

Параметры:
  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

Исключение:

PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

Результат:

код возврата и вывод команды.

Тип результата:

tuple[int, str]

input_text_vm(text: str, vm_index: int | None = None, vm_name: str | None = None) Literal[True]

Ввести текст на виртуальной машине, необходимо указать индекс или имя виртуальной машины

Параметры:
  • text (str) – Текст для ввода

  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

Исключение:

PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

Результат:

True, если ввод текста на виртуальной машине прошел успешно

Тип результата:

Literal[True]

install_apk_vm(apk_path: str, vm_index: int | None = None, vm_name: str | None = None, create_shortcut: bool = False) Literal[True]

Установить APK на виртуальной машине, необходимо указать индекс или имя виртуальной машины

Параметры:
  • apk_path (str) – Путь к APK

  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

  • create_shortcut (bool, optional) – Создавать ли ярлык. По умолчанию - False.

Исключение:

PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

Результат:

True, если установка APK на виртуальной машине прошла успешно

Тип результата:

Literal[True]

rotate_window_vm(vm_index: int | None = None, vm_name: str | None = None) Literal[True]

Повернуть окно на виртуальной машине, необходимо указать индекс или имя виртуальной машины

Параметры:

vm_index (int, optional) – Индекс VM. По умолчанию None.

Исключение:

PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

Результат:

True, если поворот окна виртуальной машины прошел успешно

Тип результата:

Literal[True]

send_adb_command_vm(command: str | list[str], vm_index: int | None = None, vm_name: str | None = None, timeout: float | None = None) str

Отправить команду ADB на виртуальную машину, необходимо указать индекс или имя виртуальной машины

Параметры:
  • command (str | list[str]) – Команда ADB

  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

  • timeout (float, optional) – Таймаут для команды. По умолчанию - None.

Исключение:
  • PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

  • PyMemucTimeoutExpired – ошибка, если команда завершается по таймауту

Результат:

код возврата и вывод команды.

Тип результата:

tuple[int, str]

set_accelerometer_vm(value: tuple[float, float, float], vm_index: int | None = None, vm_name: str | None = None) Tuple[int, str]

Установить акселерометр на виртуальной машине, необходимо указать индекс или имя виртуальной машины

Параметры:
  • value (tuple[float, float, float]) – значение акселерометра для установки

  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

Исключение:

PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

Результат:

код возврата и вывод команды.

Тип результата:

tuple[int, str]

sort_out_all_vm() bool

Упорядочить все виртуальные машины

Результат:

код возврата и вывод команды.

Тип результата:

tuple[int, str]

start_app_vm(package_name: str, vm_index: int | None = None, vm_name: str | None = None, timeout: float | None = None) Literal[True]

Запустить приложение на виртуальной машине, необходимо указать индекс или имя виртуальной машины

Параметры:
  • package_name (str) – Имя пакета APK, например, com.android.chrome. Это можно найти, используя get_app_info_list_vm(), исключая читаемое имя и суффикс версии.

  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

  • timeout (float, optional) – Таймаут в секундах. По умолчанию - None.

Исключение:

PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

Результат:

True, если запуск приложения на виртуальной машине прошел успешно

Тип результата:

Literal[True]

stop_app_vm(package_name: str, vm_index: int | None = None, vm_name: str | None = None) Literal[True]

Остановить приложение на виртуальной машине, необходимо указать индекс или имя виртуальной машины

Параметры:
  • package_name (str) – Имя пакета APK

  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

Исключение:

PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

Результат:

True, если остановка приложения на виртуальной машине прошла успешно

Тип результата:

Literal[True]

trigger_keystroke_vm(key: Literal['back', 'home', 'menu', 'volumeup', 'volumedown'], vm_index: int | None = None, vm_name: str | None = None) Literal[True]

Запустить нажатие клавиши на виртуальной машине, необходимо указать индекс или имя виртуальной машины

Параметры:
  • key (Literal["back", "home", "menu", "volumeup", "volumedown"]) – Клавиша для запуска

  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

Исключение:

PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

Результат:

True, если запуск нажатия клавиши на виртуальной машине прошел успешно

Тип результата:

Literal[True]

trigger_shake_vm(vm_index: int | None = None, vm_name: str | None = None) Literal[True]

Запустить тряску на виртуальной машине, необходимо указать индекс или имя виртуальной машины

Параметры:
  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

Исключение:

PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

Результат:

True, если запуск тряски на виртуальной машине прошел успешно

Тип результата:

Literal[True]

uninstall_apk_vm(package_name: str, vm_index: int | None = None, vm_name: str | None = None) Literal[True]

Удалить APK на виртуальной машине, необходимо указать индекс или имя виртуальной машины

Параметры:
  • package_name (str) – Имя пакета APK

  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

Исключение:

PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

Результат:

True, если удаление APK на виртуальной машине прошло успешно

Тип результата:

Literal[True]

zoom_in_vm(vm_index: int | None = None, vm_name: str | None = None) Literal[True]

Увеличить масштаб на виртуальной машине, необходимо указать индекс или имя виртуальной машины

Параметры:
  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

Исключение:

PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

Результат:

True, если увеличение масштаба на виртуальной машине прошло успешно

Тип результата:

Literal[True]

zoom_out_vm(vm_index: int | None = None, vm_name: str | None = None) Literal[True]

Уменьшить масштаб на виртуальной машине, необходимо указать индекс или имя виртуальной машины

Параметры:
  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

Исключение:

PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

Результат:

True, если уменьшение масштаба на виртуальной машине прошло успешно

Тип результата:

Literal[True]

reboot_vm(vm_index: int | None = None, vm_name: str | None = None, non_blocking: bool = False) Literal[True]

Перезагрузить виртуальную машину, необходимо указать индекс или имя виртуальной машины

Параметры:
  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

  • non_blocking (bool, optional) – Запускать ли команду в фоновом режиме. По умолчанию - False.

Исключение:

PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

Результат:

True, если виртуальная машина успешно перезагружена

Тип результата:

Literal[True]

start_vm(vm_index: int | None = None, vm_name: str | None = None, headless: bool = False, non_blocking: bool = False, timeout: float | None = None) Literal[True]

Запустить виртуальную машину, необходимо указать индекс или имя виртуальной машины

Параметры:
  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

  • headless (bool, optional) – Запускать ли виртуальную машину в режиме без графического интерфейса. По умолчанию - False.

  • non_blocking (bool, optional) – Запускать ли команду в фоновом режиме. По умолчанию - False.

  • timeout (float, optional) – Таймаут в секундах. Не может использоваться в неблокирующем режиме. По умолчанию - None.

Исключение:

PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

Результат:

True, если виртуальная машина успешно запущена

Тип результата:

Literal[True]

stop_all_vm(non_blocking: bool = False, timeout: float | None = None) Literal[True]

Остановить все виртуальные машины

Параметры:
  • non_blocking (bool, optional) – Запускать ли команду в фоновом режиме. По умолчанию - False.

  • timeout (float, optional) – Таймаут в секундах. Не может использоваться в неблокирующем режиме. По умолчанию - None.

Исключение:

PyMemucError – ошибка, если остановка виртуальной машины не удалась

Результат:

True, если виртуальная машина успешно остановлена

Тип результата:

Literal[True]

stop_vm(vm_index: int | None = None, vm_name: str | None = None, non_blocking: bool = False, timeout: float | None = None) Literal[True]

Остановить виртуальную машину, необходимо указать индекс или имя виртуальной машины

Параметры:
  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

  • non_blocking (bool, optional) – Запускать ли команду в фоновом режиме. По умолчанию - False.

  • timeout (float, optional) – Таймаут в секундах. Не может использоваться в неблокирующем режиме. По умолчанию - None.

Исключение:

PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

Результат:

True, если виртуальная машина успешно остановлена

Тип результата:

Literal[True]

clone_vm(vm_index: int | None = None, vm_name: str | None = None, new_name: str | None = None, non_blocking: bool = False) Literal[True]

Клонировать виртуальную машину, необходимо указать индекс или имя виртуальной машины

Параметры:
  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

  • new_name (str, optional) – Имя клонированной виртуальной машины. По умолчанию - None.

  • non_blocking (bool, optional) – Запускать ли команду в фоновом режиме. По умолчанию - False.

Исключение:

PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

Результат:

True, если виртуальная машина успешно клонирована

Тип результата:

Literal[True]

compress_vm(vm_index: int | None = None, vm_name: str | None = None, non_blocking: bool = False) Literal[True]

Сжать виртуальную машину, необходимо указать индекс или имя виртуальной машины

Параметры:
  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

  • non_blocking (bool, optional) – Запускать ли команду в фоновом режиме. По умолчанию - False.

Исключение:
  • PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

  • PyMemucError – ошибка, если сжатие виртуальной машины не удалось

Результат:

True, если виртуальная машина успешно сжата

Тип результата:

Literal[True]

create_vm(vm_version: Literal['76'] | Literal['96'] = '96') int

Создать новую виртуальную машину

Параметры:

vm_version (str, optional) – Версия Android. По умолчанию - «96».

Исключение:

PyMemucError – ошибка, если создание виртуальной машины не удалось

Результат:

индекс новой виртуальной машины, -1, если произошла ошибка, но исключение не было вызвано

Тип результата:

int

delete_vm(vm_index: int | None = None, vm_name: str | None = None) Literal[True]

Удалить виртуальную машину, необходимо указать индекс или имя виртуальной машины

Параметры:
  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

Исключение:

PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

Результат:

True, если виртуальная машина успешно удалена

Тип результата:

Literal[True]

export_vm(vm_index: int | None = None, vm_name: str | None = None, file_name: str = 'vm.ova', non_blocking: bool = False)

Экспортировать виртуальную машину, необходимо указать индекс или имя виртуальной машины

Параметры:
  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

  • file_name (str, optional) – Имя файла. По умолчанию - «vm.ova».

  • non_blocking (bool, optional) – Запускать ли команду в фоновом режиме. По умолчанию - False.

Исключение:

PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

Результат:

код возврата и вывод команды

Тип результата:

tuple[int, str]

get_configuration_vm(config_key: Literal['name', 'cpus', 'cpucap', 'memory', 'is_full_screen', 'is_hide_toolbar', 'turbo_mode', 'graphics_render_mode', 'enable_su', 'enable_audio', 'fps', 'vkeyboard_mode', 'sync_time', 'phone_layout', 'start_window_mode', 'win_x', 'win_y', 'win_scaling_percent2', 'is_customed_resolution', 'resolution_width', 'resolution_height', 'vbox_dpi', 'linenum', 'imei', 'imsi', 'simserial', 'microvirt_vm_brand', 'microvirt_vm_model', 'microvirt_vm_manufacturer', 'selected_map', 'latitude', 'longitude', 'picturepath', 'musicpath', 'moviepath', 'downloadpath', 'macaddress', 'cache_mode', 'geometry', 'custom_resolution', 'disable_resize', 'ssid'], vm_index: int | None = None, vm_name: str | None = None) str

Получить конфигурацию виртуальной машины, необходимо указать индекс или имя виртуальной машины

Параметры:
  • config_key (ConfigKeys) – Configuration key

  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

Исключение:

PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

Результат:

Значение конфигурации

Тип результата:

str

import_vm(file_name: str = 'vm.ova', non_blocking: bool = False) Literal[True]

Импортировать виртуальную машину из файла

Параметры:
  • file_name (str, optional) – Имя файла. По умолчанию - «vm.ova».

  • non_blocking (bool, optional) – Запускать ли команду в фоновом режиме. По умолчанию - False.

Исключение:

PyMemucError – ошибка, если импорт виртуальной машины не удался

Результат:

True, если виртуальная машина успешно импортирована

Тип результата:

Literal[True]

list_vm_info(vm_index: int | None = None, vm_name: str | None = None, running: bool = False, disk_info: bool = False) list[VMInfo]

Перечислить информацию о виртуальной машине, необходимо указать индекс или имя виртуальной машины

Параметры:
  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

  • running (bool, optional) – Перечислять только работающие виртуальные машины. По умолчанию - False.

  • disk_info (bool, optional) – Перечислять информацию о диске. По умолчанию - False.

Исключение:

PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

Результат:

список информации о виртуальной машине, каждая информация о виртуальной машине представляет собой словарь с следующими ключами: index: индекс виртуальной машины title: заголовок виртуальной машины top_level: верхний уровень виртуальной машины running: работает ли виртуальная машина pid: PID виртуальной машины disk_usage: использование диска виртуальной машины

Тип результата:

list[VMInfo]

randomize_vm(vm_index: int | None = None, vm_name: str | None = None) Literal[True]

Случайным образом изменить параметры виртуальной машины, необходимо указать индекс или имя виртуальной машины

Параметры:
  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

Исключение:

PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

Результат:

True, если параметры виртуальной машины успешно изменены случайным образом

Тип результата:

Literal[True]

rename_vm(vm_index: int | None = None, vm_name: str | None = None, new_name: str | None = None) Literal[True]

Переименовать виртуальную машину, необходимо указать индекс или имя виртуальной машины

Параметры:
  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

  • new_name (str, optional) – Новое имя виртуальной машины. По умолчанию - None.

Исключение:
  • PyMemucIndexError – ошибка, если не указан индекс или имя виртуальной машины

  • PyMemucError – ошибка, если переименование виртуальной машины не удалось

Результат:

True, если виртуальная машина успешно переименована

Тип результата:

Literal[True]

set_configuration_vm(config_key: Literal['name', 'cpus', 'cpucap', 'memory', 'is_full_screen', 'is_hide_toolbar', 'turbo_mode', 'graphics_render_mode', 'enable_su', 'enable_audio', 'fps', 'vkeyboard_mode', 'sync_time', 'phone_layout', 'start_window_mode', 'win_x', 'win_y', 'win_scaling_percent2', 'is_customed_resolution', 'resolution_width', 'resolution_height', 'vbox_dpi', 'linenum', 'imei', 'imsi', 'simserial', 'microvirt_vm_brand', 'microvirt_vm_model', 'microvirt_vm_manufacturer', 'selected_map', 'latitude', 'longitude', 'picturepath', 'musicpath', 'moviepath', 'downloadpath', 'macaddress', 'cache_mode', 'geometry', 'custom_resolution', 'disable_resize', 'ssid'], config_value: str, vm_index: int | None = None, vm_name: str | None = None) Literal[True]

Установить конфигурацию виртуальной машины, необходимо указать индекс или имя виртуальной машины

Параметры:
  • config_key (ConfigKeys) – Configuration key

  • config_value (str) – Значение конфигурации

  • vm_index (int, optional) – Индекс VM. По умолчанию None.

  • vm_name (str, optional) – Имя VM. По умолчанию None.

Исключение:

PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM

Результат:

True, если конфигурация виртуальной машины была успешно установлена

Тип результата:

Literal[True]

vm_is_running(vm_index: int = 0) bool

Проверить, работает ли виртуальная машина

Параметры:

vm_index (int, optional) – Индекс виртуальной машины. По умолчанию - 0.

Результат:

True, если виртуальная машина работает, в противном случае - False

Тип результата:

bool

check_task_status(task_id: str) Tuple[int, str]

Проверить статус задачи

Параметры:

task_id (str) – Идентификатор асинхронной задачи

Результат:

код возврата и вывод команды.

Тип результата:

tuple[int, str]

memuc_run(args: list[str], non_blocking: bool = False, timeout: float | None = None) Tuple[int, str]

выполнить команду с использованием memuc.exe. Memuc может поддерживать неблокирующие команды, возвращая идентификатор задачи. Время ожидания можно указать, если ожидается, что memuc зависнет, но это не будет работать с неблокирующими командами.

Параметры:
  • args (list[str]) – список аргументов для передачи в memuc.exe

  • non_blocking (bool, optional) – запускать ли команду в фоновом режиме. По умолчанию - False.

  • timeout (float, optional) – таймаут в секундах. По умолчанию - None для отсутствия таймаута.

Результат:

код возврата и вывод команды

Тип результата:

tuple[int, str]

Исключение:
  • PyMemucError – ошибка, если команда завершается неудачно

  • PyMemucTimeoutExpired – ошибка, если команда завершилась по истечении времени ожидания

__init__(memuc_path: str | None = None, debug: bool = False) None[исходный код]

инициализировать класс, автоматически находя memuc.exe, если поддерживается реестр Windows, в противном случае необходимо указать путь

The ConfigKeys alias

ConfigKeys

alias of Literal[„name“, „cpus“, „cpucap“, „memory“, „is_full_screen“, „is_hide_toolbar“, „turbo_mode“, „graphics_render_mode“, „enable_su“, „enable_audio“, „fps“, „vkeyboard_mode“, „sync_time“, „phone_layout“, „start_window_mode“, „win_x“, „win_y“, „win_scaling_percent2“, „is_customed_resolution“, „resolution_width“, „resolution_height“, „vbox_dpi“, „linenum“, „imei“, „imsi“, „simserial“, „microvirt_vm_brand“, „microvirt_vm_model“, „microvirt_vm_manufacturer“, „selected_map“, „latitude“, „longitude“, „picturepath“, „musicpath“, „moviepath“, „downloadpath“, „macaddress“, „cache_mode“, „geometry“, „custom_resolution“, „disable_resize“, „ssid“]

Ключи конфигурации виртуальной машины

Ключ

Описание

Имя

Имя виртуальной машины.

cpus

Количество процессоров для выделения виртуальной машине.

cpucap

Ограничение процессора для выделения виртуальной машине. (0-100)

memory

Объем памяти для выделения виртуальной машине. (Единица измерения: МБ)

is_full_screen

Должна ли виртуальная машина запускаться в полноэкранном режиме. (1, 0)

is_hide_toolbar

Следует ли скрывать панель инструментов виртуальной машины. (1, 0)

turbo_mode

Следует ли запускать виртуальную машину в турбо-режиме. (1, 0)

graphics_render_mode

Режим отображения графики для использования. (1:DirectX, 0:OpenGL)

enable_su

Должна ли виртуальная машина запускаться с привилегиями суперпользователя. (1, 0)

enable_audio

Следует ли запускать виртуальную машину с поддержкой звука. (1, 0)

fps

Количество кадров в секунду виртуальной машины. (0-100)

vkeyboard_mode

Режим виртуальной клавиатуры виртуальной машины. (0, 1)

sync_time

Должна ли виртуальная машина запускаться с синхронизацией времени. (1, 0)

phone_layout

Расположение телефона виртуальной машины. (2: Панель инструментов, 1: Справа, 0: Снизу)

start_window_mode

Режим запуска окна виртуальной машины. (2: Пользовательский, 1: Последний раз, 0: По умолчанию)

win_x

Смещение окна виртуальной машины по оси X от верхнего левого угла. (start_window_mode != 0) (Единица измерения: Пиксели)

win_y

Вертикальное смещение окна виртуальной машины от верхнего левого угла. (start_window_mode != 0) (Единица измерения: Пиксели)

win_scaling_percent2

Процентное масштабирование окна виртуальной машины. (Единица измерения: %)

is_custom_resolution

Должна ли виртуальная машина запускаться с пользовательским разрешением. (1, 0)

resolution_width

Ширина пользовательского разрешения виртуальной машины. (is_custom_resolution == 1) (Единица измерения: Пиксели)

resolution_height

Высота пользовательского разрешения виртуальной машины. (is_custom_resolution == 1) (Единица измерения: Пиксели)

vbox_dpi

DPI виртуальной машины. (is_custom_resolution == 1) (Единица измерения: DPI)

linenum

Номер телефона виртуальной машины.

imei

IMEI виртуальной машины.

imsi

IMSI виртуальной машины.

simserial

Серийный номер SIM-карты виртуальной машины.

microvirt_vm_brand

Бренд виртуальной машины.

microvirt_vm_model

Модель виртуальной машины.

microvirt_vm_manufacturer

Производитель виртуальной машины.

selected_map

The VM’s selected gps provider. (0: Google, 1: Baidu)

latitude

The VM’s gps latitude. (Unit: Degree)

longitude

The VM’s gps longitude. (Unit: Degree)

picturepath

Путь к общему каталогу изображений виртуальной машины.

musicpath

Путь к общему каталогу музыки виртуальной машины.

moviepath

Путь к общему каталогу фильмов виртуальной машины.

downloadpath

Путь к общему каталогу загрузок виртуальной машины.

macaddress

MAC-адрес устройства

cache_mode

Режим кэширования, 1 - ускорение (хорошая производительность, но есть риск повреждения изображения при случайном отключении питания), 0 - стабильный (изображение сложнее повредить, и производительность немного хуже) (1, 0)

geometry

Верхний левый угол и размер симулятора (x y ширина высота)

custom_resolution

Разрешение Android и dpi (ширина высота dpi)

disable_resize

Фиксированный размер окна, 1 - фиксированный, 0 - растягиваемый

ssid

Имя WIFI (uylnhxb557|auto) (auto означает автоматическое создание)

Тип данных VMInfo

class VMInfo[исходный код]

Базовые классы: TypedDict

TypedDict для информации о виртуальной машине

index: int

Индекс виртуальной машины

title: str

Название виртуальной машины

top_level: str

Верхнее окно виртуальной машины

running: bool

Виртуальная машина запущена

pid: int

Идентификатор процесса виртуальной машины

disk_usage: int

Использование диска виртуальной машины в байтах