Перейти к основному содержимому

Настройка рабочего профиля

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

Что такое рабочий профиль

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

  • Нормально использовать TikMatrix на корпоративных устройствах
  • Устанавливать различные пользовательские конфигурации для разных сред приложений
  • Достичь более детального управления устройствами и контроля разрешений

Использование инструмента Shelter для клонирования приложений

Перед настройкой рабочего профиля необходимо использовать инструмент Shelter для клонирования приложений TikTok и TikMatrix:

Что такое Shelter

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

Установка Shelter

  1. Скачайте Shelter из F-Droid или Google Play Маркет
  2. Установите и откройте Shelter на вашем устройстве
  3. Следуйте мастеру настройки для создания рабочего профиля

Клонирование необходимых приложений

После настройки Shelter необходимо клонировать приложения TikTok и TikMatrix:

  1. Клонирование приложения TikTok:

    • Откройте Shelter и перейдите на вкладку "Основной"
    • Найдите TikTok в списке приложений
    • Нажмите кнопку "Клонировать в рабочий профиль"
    • Дождитесь завершения процесса клонирования
  2. Клонирование приложения TikMatrix:

    • В Shelter найдите TikMatrix в списке приложений
    • Нажмите кнопку "Клонировать в рабочий профиль"
    • Подтвердите операцию клонирования

Проверка успешного клонирования

После успешного клонирования:

  • Вы увидите TikTok и TikMatrix с иконкой портфеля в панели приложений
  • Это версии приложений для рабочего профиля
  • Оригинальные приложения остаются неизменными в основном профиле

Как настроить рабочий профиль

1. Откройте диалог рабочего профиля

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

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

2. Выберите пользователя

TikMatrix сам считывает список пользователей устройства и показывает его в диалоге, поэтому ничего искать и вводить по памяти не нужно. Каждый пользователь показан с идентификатором и именем и помечен как:

  • Основной — владелец устройства, пользователь 0. Автоматизации, нацеленной на него, рабочий профиль не нужен.
  • Рабочий профиль — управляемый профиль, то есть тот, который создаёт Shelter. Выбирать нужно его.
  • Остановлен — пользователь существует, но сейчас не запущен.

Нажмите на нужного пользователя. Если устройство сейчас недоступно, введите идентификатор в поле ниже.

Оставьте поле пустым или выберите основного пользователя, чтобы сбросить настройку и вернуться к пользователю 0.

3. Сохраните

Перед сохранением TikMatrix проверяет выбранного пользователя:

  • что он существует на устройстве и
  • что TikMatrix, его тестовый пакет и автоматизируемое приложение клонированы в него.

Если чего-то не хватает, диалог называет, чего именно, а кнопка меняется на Всё равно сохранить — повторное нажатие сохранит настройку как есть. Именно эта проверка ловит опечатку в идентификаторе или профиль, в который приложения так и не были клонированы, пока вы ещё смотрите на диалог, а не спустя часы, когда задача упадёт.

Устройство с настроенным рабочим профилем показывает идентификатор пользователя на значке портфеля в списке устройств.

Описание идентификатора пользователя

Распространённые идентификаторы

  • 0: основной пользователь (по умолчанию)
  • 10: первый пользователь рабочего профиля
  • 11: второй пользователь рабочего профиля
  • Последующие идентификаторы следуют той же схеме

Диалог перечисляет то, что действительно есть на устройстве, поэтому эти значения — лишь ориентир.

Хранение файла конфигурации

Настройки рабочего профиля сохраняются в data/work_profile_user.json:

{
"device_serial_1": "10",
"device_serial_2": "11"
}

Ключи — это серийный номер устройства, тот, что показан в списке, а не адрес ip:port, по которому беспроводное устройство подключено в данный момент. TikMatrix выполняет это преобразование сам, поэтому настройка сохраняется при переподключениях и смене IP.

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

Управление настройками устройств

Настройка каждого устройства независима. Из списка устройств вы можете:

  1. Задать разным устройствам разные идентификаторы пользователя
  2. В любой момент изменить или сбросить настройку устройства
  3. Выбрать несколько устройств и задать или сбросить их вместе кнопкой Задать рабочий профиль

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

Устранение неполадок

Частые проблемы

В: После настройки рабочего профиля команды завершаются с ошибкой

О: Откройте диалог снова и прочитайте результат проверки перед сохранением. Обычные причины:

  • Идентификатор указывает на пользователя, которого на устройстве нет
  • TikMatrix или автоматизируемое приложение никогда не клонировали в этот профиль
  • Профиль остановлен — разблокируйте устройство и один раз откройте приложение из рабочего профиля

В: Как отменить настройку рабочего профиля

О: Откройте диалог, очистите поле ввода или выберите основного пользователя и сохраните.

В: Что делать, если настройки потеряны

О: Настройки хранятся в локальном файле JSON. Если они потеряны, задайте их заново или восстановите data/work_profile_user.json из резервной копии.

В: Проблемы, связанные с Shelter

О: Если возникают проблемы с Shelter:

  • Клонирование не удаётся: убедитесь, что есть права администратора и достаточно места
  • Клонированные приложения не видны: проверьте, действительно ли рабочий профиль активирован в Shelter
  • Приложения падают в рабочем профиле: попробуйте клонировать их заново или обновить Shelter
  • Не удаётся найти клонированные приложения: ищите в меню приложений значки с пометкой в виде портфеля

Лучшие практики

Корпоративная среда

  1. Единое управление: Установите одинаковый ID пользователя для всех корпоративных устройств
  2. Разделение разрешений: Используйте разные ID пользователей для различения уровней разрешений
  3. Резервное копирование настроек: Регулярно создавайте резервные копии файла work_profile_user.json

Личное использование

  1. Изоляция приложений: Устанавливайте разные пользовательские среды для разных целей
  2. Тестовая среда: Используйте независимые ID пользователей для тестирования приложений
  3. Защита конфиденциальности: Повышайте безопасность конфиденциальности через разделение пользователей

Управление инструментом Shelter

  1. Регулярные обновления: Поддерживайте приложение Shelter в актуальном состоянии для обеспечения совместимости
  2. Синхронизация приложений: Убедитесь, что TikTok и TikMatrix клонированы перед настройкой рабочего профиля
  3. Резервное копирование настроек Shelter: Экспортируйте и создавайте резервные копии конфигураций Shelter для легкого восстановления
  4. Мониторинг обновлений приложений: При обновлении TikTok или TikMatrix может потребоваться обновление клонированных версий

Технические подробности

Рабочий профиль — это второй пользователь Android на том же устройстве, поэтому настройка меняет три вещи в том, как TikMatrix управляет телефоном.

Командам, которые понимают пользователей Android, сообщается, какой именно. Каждая команда оболочки Android ждёт флаг --user в своём месте, а поставленный не туда он игнорируется, а не отвергается, поэтому TikMatrix расставляет его по каждой команде:

# `settings` принимает флаг перед своим глаголом
adb shell settings --user 10 put system screen_off_timeout 2147483647

# `am`, `ime` и `pm` — после своего
adb shell am start --user 10 -n com.zhiliaoapp.musically/.MainActivity
adb shell ime set --user 10 com.github.tikmatrix/.FastInputIME
adb shell pm list packages --user 10 com.zhiliaoapp.musically

Так обрабатываются только am, pm, ime, content и settings. Команды, для которых понятия пользователя Android не существует — input, chmod, rm, pkill, ip, mkdir — отправляются без изменений. input в особенности доставляет события в окно на переднем плане, а не пользователю, поэтому нажатиям и свайпам флаг не нужен.

Пути к файлам указывают на хранилище профиля. Материалы, отправляемые на устройство, попадают в /storage/emulated/10/DCIM, а не в /storage/emulated/0/DCIM, чтобы клонированное приложение их видело.

Установленные приложения привязываются к профилю. adb install доходит только до основного пользователя, поэтому после каждой установки TikMatrix выполняет pm install-existing --user 10 <package>, чтобы тот же APK стал доступен внутри профиля.