Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr

윈도우 11에서의 안드로이드: 개발자 관점


Recommended Posts

 

The Windows Subsystem for Android (WSA) brings native Android applications to the Windows 11 desktop. Learn how to set up and configure Windows Subsystem for Android for use in software development. See what is required to run WSA as well as what is required to target it from your Android development. Windows Subsystem for Android is available for public preview on Windows 11. I was joined by special surprise guest Scott Hanselman. 

WSA(Windoes Subsystem for Android)는 윈도우 11 데스크탑에서 네이티브로 안드로이드 애플리케이션을 사용할 수 있도록 해준다. 이번 온라인 세미나에서는 소프트웨어 개발에서 활용하기 위한 WSA 설정과 구성 방법 내용을 다루었다. WSA 실행에 필요한 사항과 안드로이드 개발에 WSA를 활용할 때 필요한 사항을 정리했다.WSA는 윈도우 11에서 미리보기로도 제공하고 있다. 특별 게스트인 Scott Hanselman이 함께 했다.

발표자료https://blogs.embarcadero.com/wp-content/uploads/2022/03/Android-on-Windows-11-A-Developers-Perspective-Windows-Subsystem-For-Android-with-Jim-and-Scott-9396411.pdf

 

윈도우에서의 안드로이드? (Android on Windows?)

  • WSA는 윈도우 11에서 안드로이드 앱을 실행한다.
  • 백그라운드에서 안드로이드 11을 실행한다.
  • WSL(Windows Subsystem for Linux)과 유사하다.
  • 아마존 앱스토어와 함께 제공된다 (현재는 미국만 가능).
    • 아마존 앱스토어는 아마존 계정이 있어야만 사용 가능
  • 개발자 모드 지원 및 사이드로딩이 가능하다.
  • 시작 메뉴에서 안드로이드 앱을 확인할 수 있다.
  • 윈도우 11에서만 지원한다.
  • WSA는 가상 머신(VM)을 활용한다.

 

하드웨어 요구사양

  • SSD가 필요하다.
  • 개인적으로 VM에서는 구동되지 않았다.
  • 윈도우 x64 (Intel 또는 AMD)에서는 상호운영성 계층을 사용한다.
  • 윈도우 ARM64에서는 네이티브로 실행된다.
  • 윈도우 11은 720p 해상도 (1280x720)의 최소한의 화면 요구사양과 a >9" 화면이 필요하다.

spacer.png

시스템 요구사양 관련 문서

WSA https://support.microsoft.com/en-us/windows/install-mobile-apps-and-the-amazon-appstore-f8d0abb5-44ad-47d8-b9fb-ad6b1459ff6c

윈도우 11 https://support.microsoft.com/en-us/windows/windows-11-system-requirements-86c11283-ea52-4782-9efd-7674389a7ba3

 

WSA 설치

spacer.png

 

WSA VM 라이프사이클

spacer.png

 

  • WSA로 VM에서 앱을 실행하는 경우, 발생 가능한 단계는 3가지가 있다:
    • 실행(Running)
    • 가벼운 도즈 모드(Lightweight Doze): 3분 동안 앱 활동이 없는 경우 발생. 사용자 활동 또는 앱 알림에 따라 비활성화 된다.
    • 비 실행(Not Running): 7분 동안 활동이 없는 경우
  • 상태 간의 전환은 사용자 활동, 안드로이드 앱 및 앱 알림에 의해 트리거된다.
  • 안드로이드 앱은 화면이 최소화되면 일시 중지되었다가 중지된다.
  • 관련 문서 https://docs.microsoft.com/en-us/windows/android/wsa/

 

성능

spacer.png

 

패스마크 성능 테스트

spacer.png

 

하드웨어 리포트

spacer.png

참고: 출처 Geekbench 5

해상도는 안드로이드 앱 화면 크기를 기반으로 한다.

200% 스케일fh 실행 시 320PPI

100% 스케일로 실행 시 160 PPI

 

설정 및 개발자 모드

spacer.png

  • WSA를 실행한다.
  • 스크롤을 내려서 개발자 모드(Developer mode)를 활성화한다.
  • IP 주소를 복사한다.
  • ADB로 연결한다 -> adb connect 172.24.203.234
  • 선택 사항:
    • 다른 로컬 컴퓨터에서 지정한 포트와 IP 주소로 연결한다.
    • 링크로 안드로이드 설정을 관리한다.
  • 참고:
    • 하위시스템은 "필요에 따라(As needed)" 또는 "지속(Continuous)" 실행할 수 있다.
    • 파일 탐색은 가능하지만, 전송은 불가하다.

 

세부 정보

spacer.png

 

Houdini의 정체는?

  • Intel의 x86 네이티브 브릿지에서 ARM으로
  • 공식적인 정보는 많지 않다.
  • Intel Chromebooks와 BlueStacks & NOX 등 데스크탑 에뮬레이터에서도 사용된다.
  • ARM opcode를 읽고, x86에서 해당 동작을 생성한다.
  • binfmt_misc (다양한 바이너리 형식) Linux kernel 기능은 ARM을 Houdini로 전달한다.
  • WSA 관련 파일
    • /system/lib64/libhoudini.so
    • /system/lib/libhoudini.so
    • /vendor/lib/libhoudini.so
    • /vendor/lib64/libhoudini.so
    • /proc/sys/fs/binfmt_misc
    • /vendor/etc/binfmt_misc/arm64_dyn
    • /vendor/etc/binfmt_misc/arm64_exe
    • /vendor/etc/binfmt_misc/arm_dyn
    • /vendor/etc/binfmt_misc/arm_exe

 

사이드로딩

  • 연결: adb connect <ip>
  • 연결 확인: dba devices
  • 인스톨: adb install -r –no-streaming <apk file>
  • 언인스톨: adb shell pm uninstall -k com.embarcadero.ProjectName
  • 앱 실행: adb shell am start -n com.embarcadero.ProjectName/com.embarcadero.firemonkey.FMXNativeActivity
  • 앱 정지/종료: adb shell am force-stop com.embarcadero.ProjectName
  • shell 오픈: adb -d shell
  • 파일 push: adb push <local file name> /storage/emulated/0/Download
  • 파일 pull: adb pull /storage/emulated/0/Download <local file name>

 

델파이&RAD스튜디오 IDE에서의 타겟팅

spacer.png

  • FMX 프로젝트는 이미 윈도우 및 안드로이드 타겟팅이 가능하다.
  • WSA는 미리보기(Preview) 상태이며, 델파이가 아직 완벽 지원하지는 않는다. 하지만 엠바카데로는 멈추지 않는다...
  • ADB와 연결하면, IDE에 표시된다.
  • 파이어몽키 앱이 실행되지 않거나 "안드로이드 기기는 선택한 플랫폼 아키텍처를 지원하지 않습니다"라는 오류가 표시될 수 있다.
  • 사이드로딩!
    • 안드로이드 64 컴파일
    • adb install -r –no-streaming FireMonkeyApp.apk
    • 크기 조정 가능

 

크기 조정 가능한 안드로이드 앱 만들기

spacer.png

  • AndroidManifest.Template.xml 편집
    • <application android:resizeableActivity=“true”>
  • 동일한 폴더에 여러개의 안드로이드 앱이 있는 경우, 동일한 AndroidManifest.Template.xml을 공유한다.
  • FMX 안드로이드 앱을 원하는대로 조정할 수 있다.

 

메뉴얼 자동화

spacer.png

 

 

모바일 테스트

spacer.png

spacer.png

  • WSA에서 작동하려면, 위치(Location)은 윈도우에서 사용 가능하도록 설정해야 한다.
  • 알림(Notification)은 데스크탑에 표시되며, WSA를 동작시킬 수 있다.

 

더 많은 자료

 

다음 단계

 

 

 

이 댓글 링크
다른 사이트에 공유하기

이 토의에 참여하세요

지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.

Guest
이 토픽(기고/질문)에 답하기

×   서식있는 텍스트로 붙여넣기.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   이전에 작성한 콘텐츠가 복원되었습니다..   편집창 비우기

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.