문서

적응형 앱 개발을 위한 에뮬레이터 제어

읽는 데 2분 소요
Rob Orgiu의 프로필 보기
Rob Orgiu 개발자 관계 엔지니어

적응형 앱 개발은 Android에서 기본이지만 모든 것이 보기 좋고 모든 기능이 제대로 작동하는지 확인하려면 여러 기기에서 여러 테스트를 실행해야 합니다. 정말로 그런 걸까요?

글쎄요, 예… 아니요! Android 스튜디오에는 레이아웃을 수동으로 테스트할 수 있는 크기 조절이 가능한 에뮬레이터가 번들로 제공되지만 터미널에서 직접 폼 팩터를 제어하는 더 빠르고 간소화된 방법이 있습니다. adb emu 바로가기를 사용하여 fire-and-forget 콘솔 명령어를 활용하면 호출 셸에 제어를 즉시 반환하는 명령어를 실행할 수 있습니다. 

여러 에뮬레이터가 동시에 실행 중인 경우 바로가기의 일련번호를 전달하여 특정 가상 기기를 타겟팅할 수 있습니다.

adb -s <serial> emu <command> <parameter>

가장 먼저 할 일: 접고 펼치기

폴더블 관련 사용자 여정과 레이아웃 구성을 테스트하려면 에뮬레이션된 기기를 프로그래매틱 방식으로 접고 펼치면 됩니다.

adb emu fold

폴더블 에뮬레이터가 펼쳐져 있는 경우 접어서 더 작은 화면 구성을 표시하고 (가상) 외부 디스플레이를 켤 수 있습니다. 에뮬레이터를 펼치고 내부 디스플레이를 켜려면 다음을 실행하면 됩니다.

adb emu unfold

이제 앱이 상태를 유지하고 다양한 디스플레이 크기에서 레이아웃이 정확하게 표시되는지 즉시 확인할 수 있습니다.

순환, 순환, 순환

방향 변경을 올바르게 처리하는 것은 적응형 앱 개발의 핵심입니다. 프로그래매틱 방식으로 기기 회전을 트리거하여 상태 복원을 비롯한 구성 변경을 앱이 얼마나 잘 처리하는지 테스트할 수 있습니다. 다음 명령어는 기기를 시계 방향으로 90도 회전합니다.

adb emu rotate

센서를 사용한 자세 시뮬레이션

테이블탑 모드와 같은 특정 물리적 자세로 에뮬레이터를 배치하는 것은 어떤가요? 가장 쉬운 방법은 .를 사용하여 사용 가능한 위치의 수를 쿼리하는 것입니다.

먼저 사용 가능한 모든 센서와 현재 상태를 나열합니다.

adb emu posture

그러면 다음과 같은 위치 목록이 반환됩니다.

Usage: "posture <posture_id>" 1: closed	2: half-opened	3: opened	…

그런 다음 반만 열린 ID를 사용하여 테이블탑 자세를 호출할 수 있습니다.

adb emu posture 2
참고: 모든 가상 기기에서 모든 자세를 지원하는 것은 아닙니다. Pixel Fold 또는 크기 조절 AVD와 같은 표준 AVD 템플릿은 자세 1 , 2 , 3만 지원합니다 . 이러한 템플릿에서 4 또는 5를 설정하려고 하면 KO: 자세 설정 실패 오류가 반환됩니다.

크기 조절 가능한 에뮬레이터는 어떤가요?

크기 조절이 가능한 에뮬레이터는 크기를 쉽게 변경할 수 있는 강력한 기능을 제공합니다. adb emu 명령어를 사용하면 하나의 명령어로 자유롭게 이동할 수 있습니다. 변경하기 전에 사용 가능한 크기 조절 사전 설정을 쿼리하려면 하나의 호출만 필요합니다.

adb emu resize-display

그러면 사용 가능한 선물 목록이 반환됩니다.

KO usage: "resize-display <index>" 0: phone	1: unfolded	2: tablet

이제 원하는 ID로 resize-display 매개변수를 호출하면 에뮬레이터가 원하는 크기로 조정됩니다.

adb emu resize-display 1

지금 바로 테스트를 간소화하세요

이상입니다 명령줄 워크플로에 fire-and-forget 명령어를 통합하면 여러 에뮬레이터를 동시에 실행하는 것보다 많은 시간과 리소스를 절약할 수 있습니다.

이제 실험을 시작할 때입니다. 이러한 콘솔 단축키를 이전에 사용한 적이 없다면 터미널을 열고 에뮬레이터를 실행한 다음 문서로 이동하여 지금 시작하세요.

작성자:
계속 읽기