Android 에뮬레이터
Android 에뮬레이터의 스트림, 색, 속도 문제를 해결합니다.
스트림이 시작되지 않거나 인코더 크래시
대개 AVD가 테스트되지 않은 google_apis_playstore 이미지를 사용할 때 발생합니다. 테스트된 google_apis/arm64-v8a 이미지로 AVD를 다시 생성하세요.
sh
sdkmanager "system-images;android-35;google_apis;arm64-v8a"
avdmanager create avd -n Pixel_8 -k "system-images;android-35;google_apis;arm64-v8a"색이 에뮬레이터와 다르게 보임 (채도가 낮음)
tapflow 화면의 색이 Android 에뮬레이터 창보다 채도가 약간 낮아 보일 수 있습니다. 이는 정상이며, 오히려 tapflow가 원본에 더 가까운 색을 보여줍니다.
- tapflow — 에이전트가 보내는 H.264 스트림의 픽셀 값을 그대로 렌더링합니다. 즉 디자인 원본(Figma 등)에 가깝습니다.
- 에뮬레이터 창 — 화면에 그릴 때 디스플레이 색 처리를 한 번 더 거치면서 원본보다 채도를 높여 표시합니다.
따라서 디자인 색상 검수에는 tapflow가 더 신뢰할 수 있는 레퍼런스입니다.
실측 예시
컬러 피커로 평평한 단색 주황 스와치를 측정한 결과:
| 원본(Figma) | tapflow | 에뮬레이터 |
|---|---|---|
#FF8000 (G=128) | #FF7700 (G=119) | #FF6C00 (G=108) |
tapflow(G=119)가 원본(G=128)에 더 가깝고, 에뮬레이터(G=108)는 원본에서 더 많이 벗어나 더 진한 주황으로 보정합니다.
검정(#000000)·흰색(#FFFFFF)·순수 R/G/B는 세 곳 모두 동일합니다 — 차이는 중간톤 채도에만 나타나며, 스트림이 손상된 것이 아닙니다.
무인 상태에서 에뮬레이터가 느려짐
tapflow는 에이전트가 실행되는 동안 호스트 Mac의 idle sleep을 자동으로 차단합니다(caffeinate -di, TAPFLOW_ALLOW_DISPLAY_SLEEP을 설정하면 caffeinate -i). 에이전트가 연결되면 어서션을 획득하고, 종료될 때 해제합니다.
그래도 무인 상태에서 에뮬레이터가 느리다면 아래 두 가지를 확인하세요.
| 확인 항목 | 이유 |
|---|---|
| 전원 어댑터 연결 | 배터리 모드에서는 macOS가 CPU 성능을 낮춥니다. caffeinate는 이 스케일링을 막지 못합니다. |
| 노트북 덮개가 열려 있는지 | 덮개를 닫으면 macOS가 클램셸 잠자기로 전환합니다. 클램셸 잠자기는 caffeinate로도 막을 수 없습니다. |