Сегодня разберем очень интересную задумку, а выглядит она так:

Есть единый центр управления Android устройствами в лице программного обеспечения Headwind MDM (используем Headwind MDM 6.39 и панель управления версии 5.41.1 на Ubuntu 22.04 LTS Server), развернут в локальной сети.

Есть программное обеспечение для удаленного управления в лице программного обеспечения Aspia 3.1.2, развернуто в локальной сети. И вот в функционале заявлена поддержка управления Android устройствами если на нем установлен "Хост Aspia"

Есть подопытный смартфон: Samsung Galaxy A57 5G

Через Wi-Fi взаимодействует с узлами выше (SSID: AmOffice)

IP: 192.168.4.100

Я хочу сделать следующее, т.к. смартфон заведен в Headwind MDM, заметка: "Заводим Samsung Galaxy A57 5G на центральную консоль Headwind MDM через QR-код"

Через Headwind MDM я на смартфон устанавливаю приложение aspia-host-3.1.2-arm64.apk

И с управляющей системы, через "Клиент Aspia" должен получить возможность взаимодействовать через приложение "Хост Aspia" посредством сеанса управления рабочий столом и передачи файлов.

Планируемая схема управления Android через Headwind MDM + Aspia 3.1.2

Системные требования:

  • Версия Android не ниже 10

Как Вам идея, поехали, ниже моя практическая реализация от и до со всеми моими нюансами.

На заметку: Видео всей заметки у меня на Youtube-канале.
На заметку: Видео всей заметки у меня на Rutube-канале.

Шаг №1: Опираясь на заметку развернута VM — "Единый центр управления Android устройствами на Ubuntu 22.04 LTS Server"

  • IP: 192.168.10.16
  • Login: admin
  • Pass:  712mbddr@

Шаг №2: Опираясь на заметку произведено заведение смартфона Samsung Galaxy A57 5G на центральную консоль Headwind MDM через QR—код.

Смартфон в лице Samsung Galaxy A57 5G заведен в центральную консоль Headwind MDM через QR-код.

Шаг №3: На устройстве Samsung Galaxy A57 5G включаю режим "Разработчика"

опускаем шторку вниз

в правом верхнем углу экрана нажимаем на шестеренку ("Настройки")

переходим в "Сведения о телефоне" — "Сведения о ПО" на "Номер сборки" нажимаем/тапаем до момента, когда будут появляться надписи вида:

Еще 4 касания до включения режима разработчика

Еще 3 касания до включения режима разработчика

Еще 2 касания до включения режима разработчика

Еще 1 касание до включения режима разработчика

появляется окно

Изменение настроек

Только для разработчиков. Изменение этих настроек может привести к сбоям или неправильной работе устройства и приложений

нажимаю «ОК»

Вижу:

Режим разработчика включен.

Режим разработчика после включения находится:

опускаем шторку вниз

в правом верхнем углу экрана нажимаем на шестеренку ("Настройки") - "Параметры разработчика"

Далее

  • Включено: Да

(Отладка)

  • Отладка по USB: включаю, "Да"
  • Конфигурация USB по умолчанию: выбираю "Передача файлов"

т.е. теперь телефон, подключенный к компьютеру будет отображаться как устройство с доступом к "Внутренней памяти" и не будет заряжаться. Для зарядки используем исключительно зарядное устройство.

Шаг №4: Опираясь на заметку развернута VM — "Aspia 3.1.2 на Ubuntu 22.04: внедрение, архитектура и практический опыт"

  • IP: 192.168.10.2

Шаг №5: На управляющей системе, к примеру, у меня это Windows 10 Pro (Version 10.0.18363.657) установлен "Клиент Aspia" версия 3.1.2 и настроен "Маршрутизатор" к 192.168.10.2

открываю браузер и скачиваю пакет aspia-host-3.1.2-arm64.apk и размещаю его в C:\SoftAspia\aspia-host-3.1.2-arm64.apk

https://github.com/dchapyshev/aspia/releases/download/v3.1.2/aspia-host-3.1.2-arm64.apk

скачиваю пакет aspia-host-3.1.2-arm64.apk и размещаю его в C:\SoftAspia\aspia-host-3.1.2-arm64.apk

Шаг №6: Загружаем в Headwind MDM скачанное приложение aspia-host-3.1.2-arm64.apk

http://192.168.10.16 - admin&712mbddr@ — вкладка "Приложения" - "Добавить" - (Файл) нажимаю "Выберите файл" указываю на путь C:\SoftAspia\ где размещен файл aspia-host-3.1.2-arm64.apk

вижу "Файл успешно загружен"

  • Тип: Приложение
  • ID пакета: org.aspia.host - определяется из файла
  • Название приложения: Aspia Host
  • Версия: 3.1.2.8504 - определяется из файла
  • Нативный код: Нативный код для arm64-v8a
  • Запуск при загрузке: отмечаю галочкой
  • Файл: aspia-host-3.1.2-arm64.apk
  • Показать ярлык: Отмечаю галочкой

Загружаю файл приложения aspia-host-3.1.2-arm64.apk в Headwind MDM

и нажимаю "Сохранить", привязываю приложение к конфигурации "Управляемый Лаунчер"

Нацеливаю приложение Aspia Host 3.1.2.8504 на конфигурацию "Управляемый Лаунчер"

после чего на экране смартфона если опустить шторку вниз видим уведомление

На экране смартфона уведомление "Установлено администратором"

а на главном экране "MDM Agent" появился ярлык

На главном экране "MDM Agent" появился ярлык "Хост Aspia"

Шаг №7: Создаем текстовый файл, который будем загружать через Headwind MDM на смартфон Samsung Galaxy A57 5G:

на управляющей системе, Windows 10 Pro создаем текстовый файл в каталоге C:\SoftAspia, к примеру readme.txt где в нем содержится содержимое выполненного запроса с системы 192.168.10.2 (Aspia Router + Aspia Relay)

ekzorchik@srv-whisper:~$ sudo bash -c "cat /etc/aspia/host.pub;echo"

59d7d38a185f06b43e882875ba815a2d584d3a8da7681f077447a0eb224fad33

ekzorchik@srv-whisper:~$

Итого содержимое readme.txt

в файл readme.txt помещаю содержимое публичного ключа Aspia Router + Aspia Relay

Шаг №8: Далее нам понадобится скопировать на смартфон публичный ключ подключения к Aspia Router + Aspia Relay, для этого загружаем файл readme.txt в Headwind MDM и нацеливаем его на конфигурацию "Управляемый Лаунчер":

http://192.168.10.16 - admin&712mbddr@ — вкладка "Файлы" — нажимаю "Добавить" - (Файл) нажимаю "Выберите файл" и указываю на каталог C:\SoftAspia, а уже в нем на файл readme.txt и нажимаю "Открыть"

  • Имя файла: readme.txt
  • Путь на устройстве: указываю /Download/readme.txt

На заметку: Если подключить смартфон к компьютеру, то перейдя через "Мой компьютер" — в "Galaxy A57 5G" - "Внутреннее хранилище" — папка "Download" будет находиться файл.

Через Headwind MDM распространяю readme.txt на Android устройства которые заведены в Headwind MDM

после нажимаю "Сохранить", также нацеливаю применение расположения файла к конфигурации "Управляемый Лаунчер"

Нацеливаю распространение readme.txt через назначение на конфигурацию "Управляемый Лаунчер"

и нажимаю "Сохранить"

Открыв на смартфоне приложение "Мои файлы" - (Хранилище) Внутреннее хранилище — перейдя в папку "Download" наблюдаю файл readme.txt

На смартфоне по пути /Download/readme.txt

Отлично.

Шаг №9: Теперь нужно выдать разрешения на смартфоне для приложения "Хост Aspia", запускаем его и видим:

При первом запуске приложение Aspia Host просит предоставить ей разрешения.

Ниже настройки на смартфоне:

а) Настройки - Специальные возможности - Установленные приложения — нажимаю на "Хост Aspia"

  • Включено: отмечаю

возникает окно "Предоставить сервису "Хост Aspia" полный контроль над устройство нажимаю "Разрешить"

б) Настройки - Приложения — нахожу "Хост Aspia" -

(Конфиденциальность)

  • Уведомления: Разрешено
  • Разрешения: Уведомления и Устройства поблизости

(Параметры по умолчанию)

  • Использование по умолчанию: отмечаю "Открытие поддерживаемых ссылок"

(Использование)

  • Мобильные данные: отмечаю "Разрешение на фоновые данные"
  • Батарея: изменяю с "Оптимизировано" на "Не ограничено"
  • Всегда сверху: отмечаю "Предоставление разрешения"
  • Установка неизвестных приложений: отмечаю "Предоставление разрешения"

Шаг №10: Запускаю с главного экрана приложение "Хост Aspia" и вижу, что

  • Доступ ко всем файлам: нажимаю "Открыть", отмечаю "Предоставление разрешения"

далее видим окно "Хост Aspia"

Хост Aspia после предоставления всех требуемых разрешений.

Теперь произведем настройки чтобы "Хост Aspia" завести в Aspia Router + Aspia Relay через средство администрирования "Клиент Aspia"

нажимаем "Параметры"

(Интерфейс) Тема: Автоматически

(Безопасность) Управление пользователями - нажимаю "+"

  • Имя пользователя: support
  • Пароль: Aa1234567aA
  • Пароль (повторно): Aa1234567aA
  • Пользователь включен: отмечаю
  • Разрешенные сессии: "Рабочий стол" и "Передача файлов"

Прописываю пользователя support в "Хост Aspia" на смартфоне.

и после в правом верхнем углу экрана нажимаем на "Галочку"

возвращаемся назад

  • (Маршрутизатор)
  • Включить использование маршрутизатора: отмечаю
  • Адрес: 192.168.10.2
  • Публичный ключ: копируем содержимое из /Download/readme.txt

Прописываю маршрутизатор и публичный ключ из файла readme.txt

(Обновления)

  • Канал обновления: Стабильный

но я их не использую, так что мне без разницы

изменения применяются сразу же, переключаюсь на "Подключение" и вижу, что

  • Ваш ID: 953 621 022 - Такой ID когда хост пока в "Непотвержденных"

Вижу, что "Хост Aspia" подключен к маршрутизатору но значится в неподтвержденных.

Переключаюсь на управляющую систему где у меня "Клиент Aspia" и вижу в "Неподтвержденные хосты" хост смартфона

Открыв "Клиент Aspia" вижу хост Android.

Подтверждаю его (ID хоста я получил 2)

Подтверждаю хост Android

и переношу в область LAN

Шаг №11: По идее все сделано, могу пробовать подключаться к Android устройству в режиме "Рабочий стол"

через правый клик мышью на хосте выбираю "Рабочий стол"

Пробую подключиться в режиме "Рабочий стол" к Android устройству.

предопределяю способ и данные авторизации, у меня это созданная учетная запись support

Предопределяю под какой учетной записью производить подключение к Android

и нажимаю "ОК"

но вижу, что произошло мелькание окон и остановилось на окне где написано "Сессия недоступна"

Не произошло подключение, как "Рабочий стол" для Android устройства, вижу окно "Сессия недоступна".

чтобы посмотреть какие окна мелькали пришлось включить запись экрана и просмотрев покадрово увидел:

Aspia

Ожидание подтверждения захвата экрана удаленным пользователем

Перед сообщение "Сессия недоступна" была надпись "Ожидание подтверждения захвата экрана удаленным пользователем".

Почитал на этот счет и пришел к мнению, что на устройствах Android

Начиная с Android 10, операционная система требует обязательного подтверждения на экране устройства перед началом захвата или записи изображения (диалог «Начать трансляцию или запись с помощью…»). Это встроенная мера безопасности, которую Google не позволяет полностью отключить через обычные настройки интерфейса.

Шаг №12: Выдаю разрешение для приложения взаимодействовать с медиа контентом.

На управляющую систему, у меня это Windows 10 Pro с официального сайта скачиваю приложение SamFW Tool, устанавливаю его, запускаю, подключаю смартфон через USB к компьютеру.

На заметку: Для запуска приложения нужны права локального администратора.

когда программа запущена нажимаем на "CMD" (встроенную консоль (ADB Shell)).

Запускаю консоль командной строки из приложения SAMFW Tool

Видим приглашение

Видим приглашение

вводим команду, но нужно знать "Package ID" приложения "Хост Aspia", оно было указано, когда добавляли его в Headwind MDM выше.

c:\SamFwTool\data>adb

Android Debug Bridge version 1.0.41

Version 29.0.6-6198805

Installed as c:\SamFwTool\data\adb.exe

C:\SamFwTool\data>adb.exe shell appops set org.aspia.host PROJECT_MEDIA allow

Отлично

На заметку: Операция PROJECT_MEDIA связана с механизмом Android MediaProjection — захватом содержимого экрана.

В зависимости от версии Android и реализации приложения это может позволить приложению:

— Получать доступ к механизму захвата экрана.

— Использовать функциональность записи или трансляции экрана.

— Обойти отдельные ограничения AppOps, связанные с MediaProjection.

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

Шаг №13: Пробуем подключиться снова с "Клиент Aspia"

На заметку: Если на смартфоне приложение "Хост Aspia" не запущено, то в "Клиент Aspia" подтвержденный хост помечен восклицательным знаком.

Если заведенный хост в "Клиент Aspia" с восклицательным знаком, значит приложение не запущено.

выполнил подключение как "Рабочий стол" и вижу правда "Черный экран"

Теперь подключение выполнено, но почему-то отображается "Черный экран".

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

Приступил к еще более углубленному сбору информации с учетом выявленного.

Шаг №14: Наблюдения на смартфоне, когда в "Клиент Aspia" вижу "Черный экран":

Обратил внимание, что на телефоне в левом верхнем углу красная иконка:

А на телефоне в левом верхнем углу красная иконка.

Если опустить шторку

Вижу уведомление "Screen sharing is active" - т.е. подключение к экрану смартфона идет, но в моем случае что-то блокирует доступ к экрану.

почитав что есть "Screen sharing is active" — появление данного сообщения (или значка трансляции в строке уведомления) означает, что моя команда выше через ADB Shell отработала идеально. Aspia Host успешно получил доступ к экрану в обход системного диалога, трансляция запустилась автоматический, и удаленных пользователь больше не должен ничего нажимать для подтверждения.

А вот "Черный экран" при подключении к Android — это стандартная защита системы от перехвата защищенного контента "Flag Secure" и тут меня осенило, у меня же в настройка конфигурации "Управляемый Лаунчер" — вкладка "Общие настройки" стоит галочка "Запретить скриншоты", сняв ее и нажав "Сохранить"

буквально сразу же в "Клиент Aspia" я увидел рабочий стол смартфона Samsung Galaxy A57 5G

Сняв галочку "Запретить скриншоты" в "Управляемый Лаунчер" я получил доступ к экрану смартфона Galaxy A57 5G через "Клиент Aspia".

а вот режим "Передача данных" заработал сразу же когда я хост подтвердил.

На экране смартфона можно обратить внимание есть ярлык для управления

Синхронизировать буфер обмена"

Назад

Домой

Недавние

На смартфоне есть иконка управления в довесок.

в дополнение ко стандартному управлению Android устройством

Шаг №15: Если пользователь закрыл приложение "Хост Aspia", то через Headwind MDM вы можете его запустить и после подключиться.

http://192.168.10.16 - admin&712mbddr@ — вкладка "Устройства" — в устройстве A57 - (Действия) Push-сообщения - Новое сообщение

  • Отправить: Устройство
  • Устройство: A57
  • Тип: runApp
  • Содержимое: {"pkg": "org.aspia.host"}

С Headwind MDM делаю PUSH-сообщение на запуск org.aspia.host (Хост Aspia).

и нажимаю "Отправить"

Итого я реализовал свою задумку по управлению устройствами Android с использованием своих наработок. Я крут.

На этом заметку завершаю, с уважением автор блога ekzorchik.