Windows Subsystem for Android™️
Windows Subsystem for Android™️를 사용하면 Amazon Appstore에 제공되는 Android 애플리케이션을 Windows 11 디바이스에서 실행할 수 있습니다. Android는 Google LLC의 상표입니다. Windows 데스크톱 디바이스를 대상으로 하고 Windows 운영 체제에 맞게 최적화하려는 개발자는 이 가이드를 참조하세요.
Important
Microsoft는 WSA(Android™️용 Windows 하위 시스템)에 대한 지원을 종료합니다. 따라서 Windows의 Amazon Appstore 및 WSA에 종속된 모든 애플리케이션 및 게임은 2025년 3월 5일부터 더 이상 지원되지 않습니다. 그때까지 고객은 기술 지원을 계속 이용할 수 있습니다.
2024년 3월 5일 이전에 Amazon Appstore 또는 Android 앱을 설치한 고객은 지원 중단일인 2025년 3월 5일까지 해당 앱에 계속 액세스할 수 있습니다. 추가 질문이 있는 경우 support.microsoft.com에서 지원 팀에 문의하세요.
저희는 개발자 커뮤니티의 성원에 감사드리며, 앞으로도 피드백에 귀를 기울여 환경을 개선할 것입니다.
- Windows 11의 Amazon Appstore 중단 알림.
- ™️ GitHub의 Android용 Windows 하위 시스템 리포지토리
- Amazon Appstore 앱
- Windows의 모바일 앱에 대한 접근성
개발 환경 설정
Windows 데스크톱 환경에서 Android 앱을 테스트하려면 약간의 설정이 필요합니다.
필수 조건
Amazon Appstore 설치
다음 두 가지 사용자 작업 중 하나를 수행하면 Microsoft Store가 자동으로 백그라운드에서 Windows Subsystem for Android™️를 설치합니다.
- Microsoft Store에서 Amazon Appstore를 설치합니다. 받기를 선택하면 앱 설치가 시작됩니다.
- Microsoft Store에서 Android 앱을 처음으로 설치합니다. 이때 Amazon Appstore도 설치됩니다.
그러면 Amazon Appstore가 Windows 11 시작 메뉴에 표시되고 검색 시 사용할 수 있으며, Android 앱 카탈로그를 제공합니다. 모바일 앱 설정 및 기능을 제어할 수 있는 Windows Subsystem for Android™ 앱도 시작 메뉴에 표시됩니다.
참고 항목
Windows의 Amazon Appstore(Windows 11에서 Android 앱을 실행하기 위한 요구 사항)는 일부 지역에서 사용할 수 있습니다.
Windows Subsystem for Android™️ 설정
Windows Subsystem for Android™️️ 설정을 수정하려면 시작 > 모든 앱 > Windows Subsystem for Android™️으로 이동합니다. 특정 설정 앱 기능인 Windows에서 모바일 앱에 대한 설정 관리에 대해 자세히 알아봅니다.
테스트 및 디버그
Windows 11 장치에서 Windows Subsystem for Android™️를 사용하여 앱을 테스트하고 디버그하려면 다음과 같은 설정 단계를 수행해야 합니다.
Windows [설정]에서 개발자 모드를 사용하도록 설정
먼저 개발자 모드를 사용하도록 설정해야 합니다. Windows Subsystem for Android™️ 설정을 엽니다. 설정이 열리면 고급 설정에서 개발자 모드를 사용하도록 설정합니다.
디버깅을 위해 Windows Subsystem for Android™️에 연결
디버깅을 위해 Windows Subsystem for Android™️ VM에 연결하려면 다음을 수행합니다.
Amazon Appstore를 사용하여 설치된 Android 앱을 시작합니다.
다음 명령으로 adb 연결을 사용하여 연결할 수 있습니다(adb가 설치되어 있어야 함).
adb connect 127.0.0.1:58526
테스트 디바이스에 연결
동일한 네트워크에 있는 Windows/Mac에서 (Windows Subsystem for Android™️가 설치된) 테스트 장치에 연결하려면 다음을 수행합니다.
Windows Subsystem for Android™️가 설치된 테스트 장치에서 PowerShell 창을 열고 다음 명령을 실행하여 테스트 장치의 IP 주소를 확인합니다.
ipconfig
Android Studio 및 Android SDK가 설치된 (Mac/Windows) 디바이스 디버깅 터미널을 사용하여 다음 명령을 입력합니다.
adb connect <TEST DEVICE IP ADDRESS>:58526
<TEST DEVICE IP ADDRESS>
는 테스트 디바이스의 "ipconfig" 출력에서 찾을 수 있습니다. Android Studio에서 앱을 배포하고 디버그할 수도 있습니다.
패키지를 설치하고 변경 내용을 평가할 수 있도록 ADB(Android Debug Bridge)를 사용하여 개발 워크스테이션을 Android 디바이스에 직접 연결하려면 Android 오픈 소스 프로젝트 문서의 Android Debug Bridge를 참조하세요.
앱 디버그
Amazon Appstore를 사용하여 앱을 설치해야 하지만, Windows 디바이스에서 APK(Android 애플리케이션 패키지) 및 adb(Android Debug Bridge)를 사용하여 Android 앱을 디버그할 수 있습니다.
adb를 사용하여 APK를 디버그하려면 다음을 수행합니다.
위의 단계에 따라 Windows Subsystem for Android™️ VM에 연결합니다.
adb 설치 명령
adb install app-debug.apk
를 사용하여 APK를 설치합니다.예상 출력:
Performing Streamed Install Success
'앱 설치됨' 알림이 Windows 알림 메뉴에 표시되고 앱을 선택하면 앱이 시작됩니다.
유니버설 APK 빌드
Windows Subsystem for Android™️는 Intel Bridge 기술을 활용하여 x86 기반 프로세서에서 Arm 애플리케이션을 사용하도록 설정합니다. Arm 애플리케이션은 기본적으로 Arm 기반 프로세서에서 실행됩니다. 에뮬레이션 계층은 성능 오버헤드를 초래합니다. 최적의 성능을 위해 x86-64 및 Arm64 아키텍처를 모두 지원하는 애플리케이션을 제출하세요.
Windows 디바이스의 입력 호환성 고려 사항
휴대용 디바이스용으로 설계되었으며 Amazon Appstore를 통해 Windows 데스크톱 디바이스에서 실행할 때 호환되도록 Android 앱 코드 업데이트가 필요할 수 있는 몇 가지 고유한 입력 동작을 고려해야 합니다.
키보드 입력
화면의 가상 키보드 입력기(IME)에서 처리하는 텍스트 입력 필드(예: EditText
)의 경우 앱이 예상대로 동작해야 합니다 (Android 문서의 EditText 클래스 참조).
프레임워크에서 예상할 수 없는 키 입력의 경우 앱에서 동작을 직접 처리해야 합니다. 이미 앱 내에서 이 기능이 구현된 경우 추가 작업이 필요하지 않습니다.
예를 들어 일부 게임에서는 터치 입력과 함께 키보드의 w
a
s
d
키를 통해 쉽게 이동할 수 있도록 지원합니다.
다음은 개발자가 Windows 11 디바이스용 앱을 빌드할 때 코드 업데이트를 고려해야 하는 키보드 입력입니다.
- Enter 키
- 화살표 키 및 Tab 키 탐색
- 선택한 항목 강조 색 변경
- Ctrl 기반 바로 가기
다음 Android 설명서에 따라 데스크톱 디바이스에서 이러한 키보드 입력 시나리오에 맞게 최적화하는 방법에 대해 자세히 알아보세요.
마우스 입력
개발자는 Windows 디바이스용 앱을 빌드할 때 다음 마우스 입력에 대한 코드 업데이트를 고려해야 합니다.
- 마우스 오른쪽 단추로 클릭
- 도구 설명/마우스로 가리키기 텍스트
- 마우스로 가리키기 효과
- 마우스 스크롤 휠 동작
- 끌어서 놓기
키보드 입력과 유사한 마우스 입력은 공식 Android 앱 지침을 따라야 합니다. 즉, SOURCE_MOUSE
상수와 쌍을 이루는 InputDevice
클래스를 사용합니다. 다음 Android 설명서에 따라 데스크톱 디바이스에서 이러한 마우스 입력 시나리오에 맞게 최적화하는 방법에 대해 자세히 알아보세요.
창 관리 및 크기 조정
기존의 모바일 폼 팩터와 달리, Windows 11에서 실행되는 Android 앱은 크기를 자유롭게 조정할 수 있고, 크기 조정 응답성이 우수해야 하며, Windows 작업/제스처를 사용하여 스냅할 수 있습니다.
최소 화면 요구 사항
Windows 11을 사용하려면 적어도 >9인치보다 큰 화면과 720p 해상도(1280x720)가 필요합니다.
레터 & 필러 박싱
창이 표시되는 디바이스 화면 크기 간에 창 크기의 가로 세로 비율이 맞지 않으면 레터박싱(창이 높이보다 넓거나 가로 방향으로 더 긴) 또는 필러박싱(창이 너비보다 좁거나 세로 방향으로 더 긴)이 발생할 수 있습니다. 그 결과 가운데에 맞추기 위해 창의 측면에 막대가 배치됩니다. 이러한 막대는 선택한 시스템 설정에 따라 밝은 또는 어두운 테마로 표시될 수 있습니다. 이 동작은 Android 앱이 스냅되거나 최대화될 때만 발생하며, Android 앱은 Windows의 풍부한 스냅 기능을 활용하여 창 모델에 통합할 수 있습니다.
크기 조정과 관련한 추가 고려 사항
Windows 11 디바이스에서 실행되도록 Android 앱을 업데이트할 때 창 관리 및 크기 조정과 관련하여 다음 사항도 고려해야 합니다.
- 초기 시작 크기
- 창 치수
- 콘텐츠 범위
- 자유 형식 크기 조정
- 화면 회전
다음 Android 문서의 창 관리 가이드에 따라 데스크톱 디바이스에서 창 크기 조정 시나리오를 최적화하는 방법에 대해 자세히 알아보세요.
애플리케이션 수명 주기 이벤트
다중 창 환경을 위한 Android 애플리케이션 개발은 애플리케이션에서 활용하도록 선택한 수명 주기 이벤트에 영향을 줍니다. onPause
이벤트를 재정의하면 휴대폰이나 태블릿에서 원하는 결과를 얻을 수 있지만 일반적으로 앱의 UX를 변경하는 경우에는 이 이벤트를 사용해서는 안 됩니다.
수명 주기 이벤트에 관한 설명은 Android 설명서를 참조하세요. 대부분의 경우 onPause
또는 onUserLeaveHint
이벤트가 아닌 onStop
이벤트를 사용해야 합니다. 실제로 많은 다중 창 Android 구현은 onUserLeaveHint
알림을 제공하지 않으므로 해당 이벤트 처리기에 있을 수 있는 중요 비즈니스용 논리는 Windows Subsystem for Android™️를 비롯하여 이러한 플랫폼에서 호출되지 않습니다.
VM 수명 주기 고려 사항
Windows Subsystem for Android™️는 AOSP 프레임워크 및 키보드, 마우스, 터치, 펜 등 장치와의 호환성을 제공하는 VM(가상 머신)을 활용합니다.
Windows Subsystem for Android™️를 사용하여 앱을 실행하는 VM의 상태는 다음 세 가지 중 하나입니다.
- 실행 중
- 가벼운 절전 모드: 3분 동안 앱 활동이 없으면 이 상태가 활성화됩니다. 사용자 활동 또는 앱 알림이 있으면 비활성화됩니다.
- 실행 중 아님: 7분 동안 앱 활동이 없으면 이 상태가 활성화됩니다.
이러한 상태 간의 전환은 Android 앱 또는 앱 알림을 시작하거나 상호 작용하는 등의 사용자 활동에 의해 트리거됩니다. Android 앱은 일시 중지되었다가 창이 최소화되면 중지됩니다.
VM 속성
다음은 Windows Subsystem for Android™️ VM의 속성입니다. 이러한 값을 하드코딩하면 향후 호환성 문제가 발생할 수 있으므로 권장되지 않습니다.
속성 | 값 |
---|---|
Build.MANUFACTURER | Microsoft Corporation |
Build.MODEL | Subsystem for Android(TM) |
Build.VERSION.SDK_INT | 33 |
Build.BOARD | windows |
Windows 앱으로 리디렉션
Windows Subsystem for Android™️은️ 파일 및 일반적인 URI 스키마에 대한 의도를 해당 Windows 기본 파일/프로토콜 처리기로 자동으로 리디렉션합니다(여러 의도 필터가 일치하는 경우 사용자의 선택기 대화 상자에 "Windows 기본 앱" 옵션이 표시됨). 지원되는 파일 의도에는 파일을 열기 전에 Windows 다운로드 폴더에 복사하는 ACTION_VIEW, ACTION_EDIT, ACTION_SEND, ACTION_SEND_MULTIPLE이 포함됩니다. 지원되는 URI 의도에는 http/https 체계의 경우 ACTION_VIEW, mailto 체계의 경우 ACTION_VIEW 및 ACTION_SENDTO가 포함됩니다.
Android 앱은 사용자 지정 URI 체계를 사용하여 Windows 앱으로 수동으로 리디렉션할 수도 있습니다. 의도 동작을 com.microsoft.windows.LAUNCH_URI
(으)로 설정하고 사용자 지정 URI를 값으로 사용하여 이름이 com.microsoft.windows.EXTRA_URI
인 의도에 문자열을 추가합니다. 예를 들어 Android 앱(Java)에서 Windows 계산기 앱을 시작하려면 다음을 실행합니다.
Intent intent = new Intent("com.microsoft.windows.LAUNCH_URI");
intent.putExtra("com.microsoft.windows.EXTRA_URI", "ms-calculator:");
try {
startActivity(intent);
} catch (ActivityNotFoundException e) {
// Not running in Windows Subsystem for Android™️ (or running on an older build that did not contain this feature).
}
보안
Windows 커널 모드 드라이버와 중간 IL(무결성 수준)에서 실행되는 Windows 애플리케이션은 임의의 Android 컨테이너와 Android 앱 메모리를 검사할 수 있습니다. 속이는/매크로/봇/의심스러운 동작을 감지하는 감지 기능을 추가할 계획이 당분간은 없습니다.
getSecurityLevel
을 쿼리하는 개발자는 SECURITY_LEVEL_SW_SECURE_CRYPTO
를 받게 됩니다. Android API 참조 가이드에서 getSecurityLevel
에 대해 자세히 알아보세요.
Windows Subsystem for Android™️ 제거
Windows Subsystem for Android™️를 제거할 수 있지만, 연결된 모든 앱도 함께 제거됩니다.
- Amazon Appstore를 제거하면 Windows Subsystem for Android™️와 모든 기타 Android 앱이 제거됩니다.
- Amazon Appstore 앱을 제거하면 Amazon Appstore 앱만 제거됩니다(Windows 앱도 마찬가지).
- Windows Subsystem for Android™️를 제거하면 Amazon Appstore와 모든 Android 앱이 제거됩니다.
문제 해결
Windows에서 Amazon Appstore와 관련된 문제가 발생하는 경우 다음과 같은 문제 해결 단계를 시도해 보세요.
- Windows 작업 표시줄에서 Windows 검색을 선택합니다.
- 'Amazon Appstore'를 검색하고 Amazon Appstore 아이콘을 마우스 오른쪽 버튼으로 클릭합니다.
- 드롭다운 옵션에서 '앱 설정'을 선택합니다.
- '스토리지 및 캐시'를 선택하고 '스토리지 지우기' 및 '캐시 지우기'를 모두 클릭합니다.
- 뒤로 돌아가서 '강제 중지'를 선택합니다.
- Amazon Appstore 설정 창을 닫습니다.
- Amazon Appstore를 다시 시작합니다.
Windows Subsystem for Android™️ 설정 앱과 관련된 추가 문제 해결 단계를 찾거나 피드백 허브를 사용하여 피드백을 남기려면 Windows의 모바일 앱 문제 해결 및 FAQ를 참조하세요.
Windows developer