Документация¶
Модуль 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 для управления виртуальными машинами.
- Параметры:
- change_gps_vm(latitude: float, longitude: float, vm_index: int | None = None, vm_name: str | None = None) Literal[True]¶
Change the GPS location on a VM, must specify either a vm index or a vm name.
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
True, если изменение GPS виртуальной машины прошло успешно
- Тип результата:
Literal[True]
- connect_internet_vm(vm_index: int | None = None, vm_name: str | None = None) Literal[True]¶
Connect the internet on a VM, must specify either a vm index or a vm name.
- Параметры:
- Исключение:
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]¶
Create an app shortcut on a VM, must specify either a vm index or a vm name.
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
PyMemucTimeoutExpired – ошибка, если команда завершается по таймауту
- Результат:
код возврата и вывод команды.
- Тип результата:
- disconnect_internet_vm(vm_index: int | None = None, vm_name: str | None = None) Literal[True]¶
Disconnect the internet on a VM, must specify either a vm index or a vm name.
- execute_command_vm(command: str, vm_index: int | None = None, vm_name: str | None = None) tuple[int, str]¶
Execute a command on a VM, must specify either a vm index or a vm name.
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
код возврата и вывод команды.
- Тип результата:
- get_adb_connection(vm_index: int | None = None, vm_name: str | None = None, timeout: float | None = None) tuple[str | None, int | None]¶
Get the adb connection information for a VM.
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
PyMemucTimeoutExpired – ошибка, если команда завершается по таймауту
PyMemucError – ошибка, если команда завершается неудачно
- Результат:
IP-адрес и порт соединения adb в виде кортежа
- Тип результата:
- get_app_info_list_vm(vm_index: int | None = None, vm_name: str | None = None, timeout: float = 10) list[str]¶
Get the list of apps installed on a VM, must specify either a vm index or a vm name.
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
PyMemucError – ошибка, если команда завершается неудачно
- Результат:
список установленных пакетов на виртуальной машине
- Тип результата:
- get_public_ip_vm(vm_index: int | None = None, vm_name: str | None = None) tuple[int, str]¶
Get the public IP of a VM, must specify either a vm index or a vm name.
- input_text_vm(text: str, vm_index: int | None = None, vm_name: str | None = None) Literal[True]¶
Input text on a VM, must specify either a vm index or a vm name.
- Параметры:
- Исключение:
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]¶
Install an APK on a VM, must specify either a vm index or a vm name.
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
True, если установка APK на виртуальной машине прошла успешно
- Тип результата:
Literal[True]
- rotate_window_vm(vm_index: int | None = None, vm_name: str | None = None) Literal[True]¶
Rotate the window on a VM, must specify either a vm index or a vm name.
- Параметры:
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¶
Send an ADB command to a VM, must specify either a vm index or a vm name.
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
PyMemucTimeoutExpired – ошибка, если команда завершается по таймауту
- Результат:
код возврата и вывод команды.
- Тип результата:
- set_accelerometer_vm(value: tuple[float, float, float], vm_index: int | None = None, vm_name: str | None = None) tuple[int, str]¶
Set the accelerometer on a VM, must specify either a vm index or a vm name.
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
код возврата и вывод команды.
- Тип результата:
- start_app_vm(package_name: str, vm_index: int | None = None, vm_name: str | None = None, timeout: float | None = None) Literal[True]¶
Start an app on a VM, must specify either a vm index or a vm name.
- Параметры:
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]¶
Stop an app on a VM, must specify either a vm index or a vm name.
- Параметры:
- Исключение:
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]¶
Trigger a keystroke on a VM, must specify either a vm index or a vm name.
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
True, если запуск нажатия клавиши на виртуальной машине прошел успешно
- Тип результата:
Literal[True]
- trigger_shake_vm(vm_index: int | None = None, vm_name: str | None = None) Literal[True]¶
Trigger a shake on a VM, must specify either a vm index or a vm name.
- uninstall_apk_vm(package_name: str, vm_index: int | None = None, vm_name: str | None = None) Literal[True]¶
Uninstall an APK on a VM, must specify either a vm index or a vm name.
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
True, если удаление APK на виртуальной машине прошло успешно
- Тип результата:
Literal[True]
- zoom_in_vm(vm_index: int | None = None, vm_name: str | None = None) Literal[True]¶
Zoom in on a VM, must specify either a vm index or a vm name.
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
True, если увеличение масштаба на виртуальной машине прошло успешно
- Тип результата:
Literal[True]
- zoom_out_vm(vm_index: int | None = None, vm_name: str | None = None) Literal[True]¶
Zoom out on a VM, must specify either a vm index or a vm name.
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
True, если уменьшение масштаба на виртуальной машине прошло успешно
- Тип результата:
Literal[True]
- reboot_vm(vm_index: int | None = None, vm_name: str | None = None, non_blocking: bool = False) Literal[True]¶
Reboot a VM, must specify either a vm index or a vm name.
- Параметры:
- Исключение:
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]¶
Start a VM, must specify either a vm index or a vm name.
- Параметры:
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]¶
Stop all VMs.
- Параметры:
- Исключение:
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]¶
Stop a VM, must specify either a vm index or a vm name.
- Параметры:
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]¶
Clone a VM, must specify either a vm index or a vm name.
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
True, если виртуальная машина успешно клонирована
- Тип результата:
Literal[True]
- compress_vm(vm_index: int | None = None, vm_name: str | None = None, non_blocking: bool = False) Literal[True]¶
Compress a VM, must specify either a vm index or a vm name.
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
PyMemucError – ошибка, если сжатие виртуальной машины не удалось
- Результат:
True, если виртуальная машина успешно сжата
- Тип результата:
Literal[True]
- delete_vm(vm_index: int | None = None, vm_name: str | None = None) Literal[True]¶
Delete a VM, must specify either a vm index or a vm name.
- export_vm(vm_index: int | None = None, vm_name: str | None = None, file_name: str = 'vm.ova', non_blocking: bool = False) tuple[int, str]¶
Export a VM, must specify either a vm index or a vm name.
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
код возврата и вывод команды
- Тип результата:
- get_configuration_vm(config_key: ConfigKeys, vm_index: int | None = None, vm_name: str | None = None) str¶
Get a VM configuration, must specify either a vm index or a vm name.
- import_vm(file_name: str = 'vm.ova', non_blocking: bool = False) Literal[True]¶
Import a VM from a file.
- Параметры:
- Исключение:
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]¶
List VM info, must specify either a vm index or a vm name.
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
список информации о виртуальной машине, каждая информация о виртуальной машине представляет собой словарь с следующими ключами: index: индекс виртуальной машины title: заголовок виртуальной машины top_level: верхний уровень виртуальной машины running: работает ли виртуальная машина pid: PID виртуальной машины disk_usage: использование диска виртуальной машины
- Тип результата:
- randomize_vm(vm_index: int | None = None, vm_name: str | None = None) Literal[True]¶
Randomize a VM, must specify either a vm index or a vm name.
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
True, если параметры виртуальной машины успешно изменены случайным образом
- Тип результата:
Literal[True]
- rename_vm(vm_index: int | None = None, vm_name: str | None = None, new_name: str | None = None) Literal[True]¶
Rename a VM, must specify either a vm index or a vm name.
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан индекс или имя виртуальной машины
PyMemucError – ошибка, если переименование виртуальной машины не удалось
- Результат:
True, если виртуальная машина успешно переименована
- Тип результата:
Literal[True]
- set_configuration_vm(config_key: ConfigKeys, config_value: str, vm_index: int | None = None, vm_name: str | None = None) Literal[True]¶
Set a VM configuration, must specify either a vm index or a vm name.
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
True, если конфигурация виртуальной машины была успешно установлена
- Тип результата:
Literal[True]
- memuc_run(args: list[str], non_blocking: bool = False, timeout: float | None = None) tuple[int, str]¶
Run a command with memuc.exe.
Memuc can support non-blocking commands, returning a task id. A timeout can be specified if memuc is expected to hang, but this will not work with non-blocking commands.
- Параметры:
- Результат:
код возврата и вывод команды
- Тип результата:
- Исключение:
PyMemucError – ошибка, если команда завершается неудачно
PyMemucTimeoutExpired – ошибка, если команда завершилась по истечении времени ожидания
The ConfigKeys alias¶
- ConfigKeys¶
псевдоним для
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“]
Ключ |
Описание |
|---|---|
Имя |
Имя виртуальной машины. |
|
Количество процессоров для выделения виртуальной машине. |
|
Ограничение процессора для выделения виртуальной машине. ( |
|
Объем памяти для выделения виртуальной машине. (Единица измерения: МБ) |
|
Должна ли виртуальная машина запускаться в полноэкранном режиме. ( |
|
Следует ли скрывать панель инструментов виртуальной машины. ( |
|
Следует ли запускать виртуальную машину в турбо-режиме. ( |
|
Режим отображения графики для использования. ( |
|
Должна ли виртуальная машина запускаться с привилегиями суперпользователя. ( |
|
Следует ли запускать виртуальную машину с поддержкой звука. ( |
|
Количество кадров в секунду виртуальной машины. ( |
|
Режим виртуальной клавиатуры виртуальной машины. ( |
|
Должна ли виртуальная машина запускаться с синхронизацией времени. ( |
|
Расположение телефона виртуальной машины. ( |
|
Режим запуска окна виртуальной машины. ( |
|
Смещение окна виртуальной машины по оси X от верхнего левого угла. ( |
|
Вертикальное смещение окна виртуальной машины от верхнего левого угла. ( |
|
Процентное масштабирование окна виртуальной машины. (Единица измерения: %) |
|
Должна ли виртуальная машина запускаться с пользовательским разрешением. ( |
|
Ширина пользовательского разрешения виртуальной машины. ( |
|
Высота пользовательского разрешения виртуальной машины. ( |
|
DPI виртуальной машины. ( |
|
Номер телефона виртуальной машины. |
|
IMEI виртуальной машины. |
|
IMSI виртуальной машины. |
|
Серийный номер SIM-карты виртуальной машины. |
|
Бренд виртуальной машины. |
|
Модель виртуальной машины. |
|
Производитель виртуальной машины. |
|
The VM’s selected gps provider. ( |
|
The VM’s gps latitude. (Unit: Degree) |
|
The VM’s gps longitude. (Unit: Degree) |
|
Путь к общему каталогу изображений виртуальной машины. |
|
Путь к общему каталогу музыки виртуальной машины. |
|
Путь к общему каталогу фильмов виртуальной машины. |
|
Путь к общему каталогу загрузок виртуальной машины. |
|
MAC-адрес устройства |
|
Режим кэширования, 1 - ускорение (хорошая производительность, но есть риск повреждения изображения при случайном отключении питания), 0 - стабильный (изображение сложнее повредить, и производительность немного хуже) ( |
|
Верхний левый угол и размер симулятора ( |
|
Разрешение Android и dpi (ширина высота dpi) |
|
Фиксированный размер окна, 1 - фиксированный, 0 - растягиваемый |
|
Имя WIFI ( |
Тип данных VMInfo¶
- class VMInfo[исходный код]¶
Базовые классы:
TypedDictA TypedDict for VM info.