Surface Duo 에뮬레이터 문제 해결 팁
Surface Duo Tech Community를 방문하여 Surface Duo 에뮬레이터 또는 SDK 관련 문제를 질문하거나 논의하세요.
다음은 몇 가지 일반적인 문제 및 해결 방법입니다.
Android 12L 에뮬레이터가 시작되지 않음
최신 Surface Duo Android 12L 에뮬레이터를 사용하려면 SDK 도구의 Android 에뮬레이터가 버전 31.3.12 이상(또는 카나리아 채널의 경우 32.1.5 이상)이어야 합니다.
SDK 도구에서 에뮬레이터를 업데이트하는 방법에 대한 자세한 지침은 필수 구성 요소, 다운로드 및 설치 단계를 확인합니다.
Android 11 에뮬레이터가 시작되지 않음
터미널 출력에 다음 오류가 표시될 수 있습니다.
WARNING | Failed to process .ini file Surface_Duo_2_API_32.avd/config.ini for reading.
ERROR | bad config: virtual device file has no valid path.rel entry nor path entry
이 오류는 Surface Duo 에뮬레이터와 SDK 도구의 에뮬레이터 간의 구성 불일치를 나타냅니다. Android Studio에서 도구 > SDK 관리자 > SDK 도구 탭 으로 이동하여 현재 버전(및 업그레이드를 사용할 수 있는지 여부)을 확인합니다. 버전 31.3.12 이상(또는 카나리아 채널에서 32.1.5 이상)이 있는 경우 Surface Duo Android 11 에뮬레이터와 Android SDK 버전 간의 호환성을 복원하도록 INI 파일을 업데이트해야 합니다.
- 경로로 이동합니다 . \SurfaceDuoEmulator_<version>\artifacts\.android\avd\
- Surface_Duo_2_API_32.ini파일을 편집합니다.
- 매개 변수
path.rel
를 로Surface_Duo_2_API_32.avd
변경합니다(이전 에뮬레이터의 경우 지금까지 로 설정avd\Surface_Duo_2_API_32.avd
됨). - 에뮬레이터를 저장하고 다시 시작합니다.
Android 11 에뮬레이터가 부팅을 완료하지 않음
부팅하는 동안 Surface Duo 에뮬레이터에 검은색 화면이 표시되지 않으면 에뮬레이터가 이전 실행에서 데이터 또는 상태를 로드하는 데 문제가 있음을 나타낼 수 있습니다. 이 문제를 해결하려면 에뮬레이터를 닫고 초기화 스크립트를 사용하여 에뮬레이터를 시작하여 다시 시작합니다. 스크립트는 Surface Duo 2 에뮬레이터 이미지 설치 위치에 있습니다.
경고
run_wipe 스크립트를 사용하여 에뮬레이터를 시작하면 에뮬레이터에 생성하거나 설치한 모든 데이터와 앱이 삭제됩니다.
모든 사용자 데이터 초기화에 대해 이해하고 동의하는 경우 Windows에서는 ./run_wipe_SurfaceDuo2.bat
를 사용하고 macOS 및 Linux에서는 ./run_wipe_SurfaceDuo2.sh
를 사용합니다.
다른 해결 방법은 이전에 설치된 Surface Duo Android 에뮬레이터와 다른 파일 위치에 새 에뮬레이터를 설치하는 것입니다. 설치 프로세스의 일부로 설치 위치를 선택할 수 있습니다.
Surface Duo 에뮬레이터가 Android Studio 또는 Visual Studio의 디바이스 목록에 나타나지 않음
현재 버전의 Surface Duo 에뮬레이터를 IDE에서 시작할 수 없습니다. 먼저 에뮬레이터를 수동으로 시작하고 실행한 후에는 배포 및 디버깅을 위한 목록에 표시되어야 합니다.
- Windows - 시작 > Surface Duo 에뮬레이터에서 선택합니다.
- Mac - 명령줄에서
./run_SurfaceDuo2.sh
(Mac용 Visual Studio의 경우./run_vs_SurfaceDuo2.sh
)를 사용하여 시작합니다.
Surface Duo 에뮬레이터를 시작하면 디바이스 목록에 가상 디바이스로 표시됩니다.
Surface Duo 에뮬레이터가 AVD(Android 가상 디바이스) 관리자에 표시되지 않음
현재 버전의 Surface Duo 에뮬레이터는 AVD Manager에서 관리할 수 없습니다. 대신 다운로드 페이지에서 설치하고 수동으로 시작해야 합니다.
- Windows - Surface Duo 에뮬레이터 시작 > 또는 바탕 화면 아이콘(사용 가능한 경우)을 선택합니다.
- Mac - 명령줄에서
./run_SurfaceDuo2.sh
(Mac용 Visual Studio의 경우./run_vs_SurfaceDuo2.sh
)를 사용하여 시작합니다.
두 화면에서 앱이 열리지 않음
기본적으로 애플리케이션은 단일 화면에서만 열립니다. 그러면 사용자는 앱 창 아래쪽에 있는 핸들을 끌어 두 화면에서 애플리케이션을 확장하도록 선택할 수 있습니다.
고객은 설정에서 기본적으로 두 화면에서 열리는 앱에 옵트인할 수 있습니다. 앱을 자동 확장하려면 Surface Duo 기능 > 자동 앱 범위 로 이동하여 스위치를 켭니다. 기능을 사용하도록 설정하면 개별 앱을 목록에서 자동 범위로 설정할 수 있습니다. 화면이 비어 있는 경우에만 앱이 두 화면에서 열리고, 그렇지 않으면 앱이 활성화된 화면에서만 열립니다.
이 기능은 Android 11 이상에서 사용할 수 있습니다.
콘텐츠가 에뮬레이터로 회전하지 않음
알림 서랍 또는 설정 > 디스플레이 > 자동 회전 화면에서 자동 회전이 사용하도록 설정되어 있는지 확인합니다.
Surface Duo 에뮬레이터를 "초기화"하는 방법
설치 폴더에는 파일 이름에 초기화 가 있는 배치 파일이 있습니다. 스크립트 중 하나를 사용하여 에뮬레이터를 시작하면 에뮬레이터를 효과적으로 "초기화"합니다.
- Windows - 설치 폴더 내 아티팩트 폴더에서
run_wipe_SurfaceDuo2.bat
(Visual Studio의 경우run_vs_wipe_SurfaceDuo2.bat
)를 직접 실행하여 Surface Duo 에뮬레이터 이미지를 원래 상태로 되돌릴 수 있습니다. - Mac - 터미널 창에서 에뮬레이터 파일을 복사한 폴더로 이동합니다. 그런 다음,
./run_wipe_SurfaceDuo2.sh
(Mac용 Visual Studio의 경우./run_vs_wipe_SurfaceDuo2.sh
)를 입력하여 Surface Duo 에뮬레이터 이미지를 원래 상태로 되돌립니다.
이러한 파일은 2020년 10월 중순에 릴리스된 에뮬레이터 버전 2020.1014.2와 함께 설치되었습니다.
이전 버전을 사용 중이며 즉시 업데이트할 수 없는 경우
이전 버전이 있는 경우 최신 버전을 다운로드하거나 스크립트 파일을 수동으로 만들 수 있습니다. 먼저 기존 run_clean(또는 run_vs_clean) 파일을 run_wipe(또는 run_vs_wipe)에 복사해야 합니다.
@echo off
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.\
"%DIRNAME%\run.bat" -wipe-data
또는 macOS 및 Linux의 셸 파일의 경우:
#!/bin/sh
./run.sh -wipe-data
업데이트된 일괄 처리/스크립트 파일은 에뮬레이터를 시작하는 데 사용되는 기존 일괄 처리/스크립트 파일과 동일한 디렉터리에 있어야 합니다. Visual Studio 버전(파일 이름에 _vs 포함)을 수정하는 경우 최종 줄이 run_vs.bat 또는 run_vs.sh를 참조하도록 해야 합니다.
중단 후 Surface Duo 에뮬레이터가 시작되지 않습니다.
스냅샷을 저장하는 동안 에뮬레이터가 중단되면 이후 시작 시 손상된 스냅샷 상태에서 부팅을 시도합니다. 또는 에뮬레이터가 실행되는 동안 예기치 않은 문제가 발생할 때 이를 시작하려고 하면 "emulator: ERROR: bad workspace: cannot find prebuilt kernel in: ../bin/prebuilts/qemu-kernel/x86_64/kernel-qemu"
오류가 발생할 수 있습니다.
이 경우 위에서 설명한 대로 초기화를 수행하여 문제를 해결하고 에뮬레이터를 다시 시작합니다.