В этой заметке разберём, как устанавливать и удалять Android—приложения через центральную консоль Headwind MDM, развёрнутую на Ubuntu 22.04 LTS Server. Рассмотрим загрузку APK-файлов, выбор приложений с учётом архитектуры CPU устройства, а также привязку приложений к конфигурациям для автоматической установки или удаления на управляемых Android-устройствах.

В качестве примера используем Headwind MDM 6.39 и панель управления версии 5.41.1. Отдельно поговорим о нюансах подбора совместимых приложений и о том, почему стандартизация Android-устройств упрощает централизованное управление корпоративной инфраструктурой.

А вот если не получается стандартизировать, то получаем обратную сторону всего задуманного, нужно искать приложения (вести свой список) в интернете чтобы они устанавливались и работали.

Другое дело если Вы сами их пишите под свою инфраструктуру и устройства Android у Вас стандартизированы. Конечно это в идеале.

Если смотреть с нуля, то перед этой заметкой следует ознакомиться с ранее опубликованными:

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

Шаг №1: Итак, в качестве подопытного образа выступит смартфон Samsung Galaxy A6, нам нужно узнать какая архитектура процессора на нем используется, т.к. именно под нее нужно будет найти/написать самим приложение если такими навыками обладаете:

http://192.168.10.16 - admin&712mbddr@ - Устройства — находим устройство, у меня оно именуется, как A6 - Действия — переходим в "Детальная информация" и видим

  • Архитектура CPU: armeabi-v7a

почитав в интернете понял, что это 32-битная ARM-архитектура, в кратком виде упоминается, как arm-v7a.

Шаг №2: Далее нам понадобится на просторах интернета найти любой пакет под используемую архитектуру, к примеру, будет рассматривать на примере приложения "Cx File Explorer APK"

https://androidapks.com/cx-file-explorer/com-cxinventor-file-explorer/download/

скачиваю его на свою управляющую рабочую систему из-под которой я взаимодействую с другими, к примеру, это Windows 10 Pro, размещаю пока скачанное приложение в C:\Soft\APK

Скачал из интернета пакет "Cx File Explorer APK" и расположил в C:\Soft\APK

Шаг №3: Далее я задался вопросом, как проверить что APK файл под нужную мне архитектуру:

ответом на свой вопрос, вышел что мне нужна утилита aapt

https://github.com/VindroidH/prebuilt-binaries-aapt-aapt_64-aapt2-aapt2_64-windows-linux-macosx/blob/master/windows/aapt2_64.exe.zip

c:\Soft\aapt2_64.exe>aapt2_64.exe dump badging c:\Soft\APK\com.cxinventor.file.explorer-v2.8.1_281-Android_5.0.apk

вот только указывая | findstr /I "native", findstr /I skdVersion, findstr /I package не отображают архитектуру CPU, а все потому что (возможно) приложение не содержит нативного кода. Оно написано полностью на Java/Kotlin и является универсальным.

Если открыть приложение через архиватор 7z и не найдя папки lib, то можно сказать, что действительно приложение не зависит от архитектуры процессора.

Открыв APK файл через Архиватор 7z не вижу каталог lib

Шаг №4: Теперь нужно загрузить на центральную консоль Headwind MDM скачанный APK пакет:

http://192.168.10.16 - admin&712mbddr@ — вкладка "Приложения" - Добавить, вижу окно

Инициирую процедуру добавления приложения в Headwind MDM

обращаю взор на "Файл" — и нажимаю "Выберите файл", запускается проводник и указываю на apk-файл

На заметку: при нажатии Файл - Выберите файл, файл должен быть с расширением ".apk" или ".xapk", этот нюанс был выявлен практическим способом, когда пытался подсунуть ему файл c расширением apkm (это контейнер).

который расположил в каталоге C:\soft\apk и получаю

  • Статус: Файл успешно загружен
  • Тип: Приложение
  • ID пакета: com.cxinventor.file.explorer - определяется из файла
  • Версия: 2.8.1 - определяется из файла
  • Нативный код: Нет (универсальный APK)

Через Файл - "Выберите файл", указываю его из размещения C:\soft\APK

Нажимаю "Сохранить", появляется окно, как быть с приложением, т.е. делаю так:

  • Приложение: Cx File Explorer (2.8.1)
  • Конфигурации: отмечаю галочкой - Установить - Управляемый Лаунчер

Нацеливанию загруженное приложение в Headwind MDM на конфигурацию "Управляемый Лаунчер".

после нажимаю "Сохранить"

Добавленные приложения в отличии от считываемых с устройства системных отображаются во вкладке "Приложения"

для удобства "Показать системные" галочку не ставим

Теперь во вкладке "Приложения" отображаются все приложения на Headwind MDM (не системные с заведенных устройств).

Шаг №5: Чтобы приложение на заведенном в Headwind MDM устройстве (к примеру, на Samsung Galaxy A6) к которому применена конфигурацию отобразилось на экране Лаунчера:

http://192.168.10.16 - admin&712mbddr@ - Конфигурации — перехожу в конфигурацию "Управляемый Лаунчер" — вкладка "Приложения" и

  • Название приложения: Cx File Explorer
  • Версия: 2.8.1
  • Действия: Установить
  • Ярлык: Показывать

Чтобы приложение было установлена на устройстве: Действие: Установить Ярлык: Показывать

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

Шаг №6: Переключаюсь на смартфон Samsung Galaxy A6 и вижу, на экране запущенного Launcher появилась иконка "Cx Проводник"

На устройстве Samsung Galaxy A6 вижу установленное приложение "Cx Проводник".

Если опустить шторку сверху вниз значится уведомление

Платформа Android

Cx Проводник

Установлено администратором

Если опустить шторку вниз вижу уведомление, что приложение Cx Проводник установлено администратором.

в журналах для устройства "A6" Web-консоли Headwind MDM событие:

Downloading app: com.cxinventor.file.explorer

Silently installing app com.cxinventor.file.explorer 2.8.1

Отлично.

Шаг №7: Если нужно удалить приложение "Cx Проводник" с устройства A6 (Смартфон Samsung Galaxy A6), то с центральной консоли Headwind MDM:

http://192.168.10.16 - admin&712mbddr@ - Конфигурации - Управляемый Лаунчер — вкладка "Приложения" — в нужном приложении, к примеру "Cx File Explorer"

  • Действия: Не устанавливать

Для удаления приложения со смартфона "Действие: Не устанавливать".

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

Шаг №8: Проверяю что происходит на смартфоне Samsung Galaxy A6:

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

На заметку: после того как смартфон завели в Headwind MDM в качестве главного экрана выступает не как по дефолту "Главный экран One UI", а "MDM Agent", поэтому установленные приложения все еще можно запустить с телефона не только те что назначены с единой консоли управления.

Шаг №9: Чтобы приложение удалить со смартфона его стоит отвязать от "Конфигурации":

http://192.168.10.16 - admin&712mbddr@ - Приложения — выбираем приложение "Cx File Explorer (2.8.1)" открываем через "Действия" на редактирование приложения "Cx File Explorer" — переходим во вкладку "Конфигурации"

  • Управляемый Лаунчер: удалить и отмечаю галочкой

Чтобы приложение не только c лаунчера на устройстве было удалено но и полностью со смартфона.

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

На заметку: Во вкладке "Приложения" где все приложения, приложение остается.

Шаг №10: Опустив шторку (сверху вниз) на смартфоне вижу уведомление, что приложение "Cx Проводник" удалено администратором:

Платформа Android

Cx Проводник

Удалено администратором

Опустив шторку вниз, вижу уведомление, что приложение Cx Проводник было удалено администратором.

в журналах для устройствa A6 (Samsung Galaxy A6) Web-консоли Headwind MDM событие:

Removing app: com.hmdm.emuilauncherrestarter

Silently uninstall app com.cxinventor.file.explorer

Шаг №11: Когда приложение отвязано от конфигурации (у него выбран тип "Не устанавливать"), то у него становится доступным/активным "Действие" - "Удалить"

http://192.168.10.16 - admin&712mbddr@ — вкладка "Приложения" —

Отвязав приложение от Конфигурации и выбрав тип "Не устанавливать", если что приложение можно удалить с Headwind MDM.

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

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

Вот пока на этом я свою заметку завершаю, что хотел то и показал, а заодно расписал себе в шагах на случай если вдруг придется много после вернуться и вспомнить что да как. С уважением, автор блога ekzorchik.