본문으로 건너뛰기

Work Profile 설정

TikMatrix는 각 기기에 대해 Work Profile 사용자를 개별적으로 설정할 수 있으며, 이는 기업 관리 기기나 이중 앱 환경에서 매우 유용합니다.

Work Profile이란

Work Profile (작업 프로필)은 Android의 기능으로, 동일한 기기에서 독립된 업무 환경을 만들 수 있습니다. 다른 사용자 ID를 설정하면 다음을 수행할 수 있습니다:

  • 기업 관리 기기에서 TikMatrix를 정상적으로 사용
  • 다양한 앱 환경에 대해 다른 사용자 설정 적용
  • 더 세밀한 기기 관리 및 권한 제어 구현

Shelter 도구를 사용한 애플리케이션 복제

Work Profile을 설정하기 전에, Shelter 도구를 사용하여 TikTok 및 TikMatrix 애플리케이션을 복제해야 합니다:

Shelter란

Shelter는 Android 기기에서 Work Profile을 생성하고 관리하는 오픈소스 애플리케이션입니다. 격리된 업무 환경에서 중복 애플리케이션을 실행할 수 있습니다.

Shelter 설치

  1. F-Droid 또는 Google Play 스토어에서 Shelter를 다운로드
  2. 기기에 Shelter를 설치하고 실행
  3. 설정 마법사를 따라 Work Profile 생성

필요한 애플리케이션 복제

Shelter를 설정한 후, TikTok 및 TikMatrix 애플리케이션을 복제해야 합니다:

  1. TikTok 애플리케이션 복제:

    • Shelter를 열고 "메인" 탭으로 이동
    • 애플리케이션 목록에서 TikTok 찾기
    • "Work Profile에 복제" 버튼 탭
    • 복제 프로세스 완료 대기
  2. TikMatrix 애플리케이션 복제:

    • Shelter에서 애플리케이션 목록에서 TikMatrix 찾기
    • "Work Profile에 복제" 버튼 탭
    • 복제 작업 확인

복제 성공 확인

복제가 완료되면:

  • 앱 서랍에서 서류가방 아이콘이 있는 TikTok 및 TikMatrix가 표시됨
  • 이것들은 애플리케이션의 Work Profile 버전
  • 메인 프로필의 원본 애플리케이션은 변경되지 않음

직장 프로필 설정 방법

1. 직장 프로필 대화상자 열기

기기 목록의 각 행에서 작업 열 끝에 서류가방 아이콘이 있습니다. 이 아이콘을 클릭하면 해당 기기의 직장 프로필 대화상자가 열립니다.

여러 기기를 한 번에 설정하려면 체크박스를 선택한 뒤 목록 위 선택 도구 모음의 직장 프로필 설정 버튼을 사용하세요.

2. 사용자 선택

TikMatrix가 기기의 사용자 목록을 읽어 대화상자에 표시하므로 따로 찾아보거나 외워서 입력할 필요가 없습니다. 각 사용자는 ID와 이름, 그리고 다음 태그와 함께 표시됩니다.

  • 기본 — 기기 소유자인 사용자 0입니다. 이 사용자를 대상으로 하는 자동화에는 직장 프로필이 필요 없습니다.
  • 직장 프로필 — Shelter가 만드는 관리 프로필입니다. 이것을 선택하세요.
  • 중지됨 — 사용자는 존재하지만 현재 실행 중이 아닙니다.

원하는 사용자를 클릭하세요. 기기에 지금 연결할 수 없다면 아래 입력란에 ID를 직접 입력하면 됩니다.

입력란을 비우거나 기본 사용자를 선택하면 설정이 해제되고 사용자 0으로 돌아갑니다.

3. 저장

저장하기 전에 TikMatrix는 선택한 사용자를 확인합니다.

  • 해당 사용자가 기기에 존재하는지
  • TikMatrix와 그 테스트 패키지, 그리고 자동화 대상 앱이 모두 그 사용자로 복제되었는지

빠진 것이 있으면 대화상자가 무엇이 없는지 정확히 알려주고 버튼이 그래도 저장으로 바뀝니다. 다시 클릭하면 그대로 저장됩니다. 이 확인 덕분에 잘못 입력한 ID나 앱을 복제하지 않은 프로필을, 몇 시간 뒤 작업이 실패할 때가 아니라 대화상자를 보고 있는 그 자리에서 발견할 수 있습니다.

직장 프로필이 설정된 기기는 기기 목록의 서류가방 아이콘에 사용자 ID가 표시됩니다.

사용자 ID 설명

일반적인 사용자 ID

  • 0: 기본 사용자(기본값)
  • 10: 첫 번째 직장 프로필 사용자
  • 11: 두 번째 직장 프로필 사용자
  • 이후 사용자 ID도 같은 방식입니다

대화상자는 기기에 실제로 존재하는 사용자를 나열하므로, 위 값은 참고용으로만 보세요.

설정 파일 저장

직장 프로필 설정은 data/work_profile_user.json에 저장됩니다.

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

키는 기기의 일련번호입니다. 기기 목록에 표시되는 값이며, 무선 기기가 현재 연결에 사용하는 ip:port 주소가 아닙니다. 이 변환은 TikMatrix가 직접 처리하므로 재연결이나 IP 변경 후에도 설정이 유지됩니다.

직장 프로필을 사용하는 기기만 파일에 나타납니다. 기기 설정을 해제하면 0을 저장하는 대신 항목 자체가 삭제됩니다.

기기 설정 관리

각 기기의 설정은 서로 독립적입니다. 기기 목록에서 다음을 할 수 있습니다.

  1. 기기마다 다른 사용자 ID 설정
  2. 언제든 기기 설정 변경 또는 해제
  3. 여러 기기를 선택해 직장 프로필 설정으로 한 번에 설정하거나 해제

work_profile_user.json을 직접 편집하는 것도 여전히 가능하며 이제 재시작이 필요 없습니다. TikMatrix가 몇 초 안에 파일 변경을 감지합니다.

문제 해결

일반적인 문제

Q: 직장 프로필 설정 후 명령이 실패합니다

A: 대화상자를 다시 열어 저장 전 확인 결과를 읽어보세요. 흔한 원인은 다음과 같습니다.

  • ID가 가리키는 사용자가 기기에 존재하지 않음
  • TikMatrix 또는 자동화 대상 앱이 해당 프로필로 복제되지 않음
  • 프로필이 중지됨 — 기기 잠금을 해제하고 직장 프로필 앱을 한 번 열어보세요

Q: 직장 프로필 설정을 취소하려면

A: 대화상자를 열고 입력란을 비우거나 기본 사용자를 선택한 뒤 저장하세요.

Q: 설정이 사라졌을 때

A: 설정은 로컬 JSON 파일에 저장됩니다. 사라졌다면 다시 설정하거나 백업에서 data/work_profile_user.json을 복원하세요.

Q: Shelter 관련 문제

A: Shelter에서 문제가 발생하면:

  • 복제 실패: 관리자 권한과 충분한 저장 공간이 있는지 확인하세요
  • 복제된 앱이 보이지 않음: Shelter에서 직장 프로필이 제대로 활성화되었는지 확인하세요
  • 직장 프로필에서 앱이 충돌함: 앱을 다시 복제하거나 Shelter를 업데이트해 보세요
  • 복제된 앱을 찾을 수 없음: 앱 서랍에서 서류가방 배지가 붙은 아이콘을 찾아보세요

모범 사례

기업 환경 사용

  1. 통합 관리: 모든 기업 기기에 동일한 사용자 ID 설정
  2. 권한 분리: 다양한 사용자 ID를 사용하여 다양한 권한 수준 구분
  3. 설정 백업: 정기적으로 work_profile_user.json 파일 백업

개인 사용

  1. 앱 격리: 서로 다른 목적의 앱에 대해 다양한 사용자 환경 설정
  2. 테스트 환경: 앱 테스트를 위해 독립된 사용자 ID 사용
  3. 개인 정보 보호: 사용자 분리를 통해 개인 정보 보안 향상

Shelter 도구 관리

  1. 정기적 업데이트: 호환성을 보장하기 위해 Shelter 애플리케이션을 최신 상태로 유지
  2. 애플리케이션 동기화: Work Profile 설정 전에 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/0/DCIM이 아니라 /storage/emulated/10/DCIM에 저장되어 복제된 앱이 볼 수 있게 됩니다.

설치된 앱은 프로필로 연결됩니다. adb install은 기본 사용자에만 적용되므로, TikMatrix는 설치할 때마다 pm install-existing --user 10 <package>를 실행해 같은 APK를 프로필 안에서도 사용할 수 있게 만듭니다.