Work Profile 설정
TikMatrix는 각 기기에 대해 Work Profile 사용자를 개별적으로 설정할 수 있으며, 이는 기업 관리 기기나 이중 앱 환경에서 매우 유용합니다.
Work Profile이란
Work Profile (작업 프로필)은 Android의 기능으로, 동일한 기기에서 독립된 업무 환경을 만들 수 있습니다. 다른 사용자 ID를 설정하면 다음을 수행할 수 있습니다:
- 기업 관리 기기에서 TikMatrix를 정상적으로 사용
- 다양한 앱 환경에 대해 다른 사용자 설정 적용
- 더 세밀한 기기 관리 및 권한 제어 구현
Shelter 도구를 사용한 애플리케이션 복제
Work Profile을 설정하기 전에, Shelter 도구를 사용하여 TikTok 및 TikMatrix 애플리케이션을 복제해야 합니다:
Shelter란
Shelter는 Android 기기에서 Work Profile을 생성하고 관리하는 오픈소스 애플리케이션입니다. 격리된 업무 환경에서 중복 애플리케이션을 실행할 수 있습니다.
Shelter 설치
- F-Droid 또는 Google Play 스토어에서 Shelter를 다운로드
- 기기에 Shelter를 설치하고 실행
- 설정 마법사를 따라 Work Profile 생성
필요한 애플리케이션 복제
Shelter를 설정한 후, TikTok 및 TikMatrix 애플리케이션을 복제해야 합니다:
-
TikTok 애플리케이션 복제:
- Shelter를 열고 "메인" 탭으로 이동
- 애플리케이션 목록에서 TikTok 찾기
- "Work Profile에 복제" 버튼 탭
- 복제 프로세스 완료 대기
-
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을 저장하는 대신 항목 자체가 삭제됩니다.
기기 설정 관리
각 기기의 설정은 서로 독립적입니다. 기기 목록에서 다음을 할 수 있습니다.
- 기기마다 다른 사용자 ID 설정
- 언제든 기기 설정 변경 또는 해제
- 여러 기기를 선택해 직장 프로필 설정으로 한 번에 설정하거나 해제
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를 업데이트해 보세요
- 복제된 앱을 찾을 수 없음: 앱 서랍에서 서류가방 배지가 붙은 아이콘을 찾아보세요
모범 사례
기업 환경 사용
- 통합 관리: 모든 기업 기기에 동일한 사용자 ID 설정
- 권한 분리: 다양한 사용자 ID를 사용하여 다양한 권한 수준 구분
- 설정 백업: 정기적으로
work_profile_user.json파일 백업
개인 사용
- 앱 격리: 서로 다른 목적의 앱에 대해 다양한 사용자 환경 설정
- 테스트 환경: 앱 테스트를 위해 독립된 사용자 ID 사용
- 개인 정보 보호: 사용자 분리를 통해 개인 정보 보안 향상
Shelter 도구 관리
- 정기적 업데이트: 호환성을 보장하기 위해 Shelter 애플리케이션을 최신 상태로 유지
- 애플리케이션 동기화: Work Profile 설정 전에 TikTok 및 TikMatrix가 복제되었는지 확인
- Shelter 설정 백업: 쉬운 복구를 위해 Shelter 설정을 내보내고 백업
- 앱 업데이트 모니터링: 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를 프로필 안에서도 사용할 수 있게 만듭니다.