RAD 3월 14일, 2022에 포스트됨 공유하기 3월 14일, 2022에 포스트됨 원문 링크: https://blogs.embarcadero.com/android-on-windows-11-a-developers-perspective/ 작성자(작성일): Jim McKeeth (2022.3) 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" 화면이 필요하다. 시스템 요구사양 관련 문서 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 설치 WSA는 윈도우 11에서 미리 경험해 볼 수 있다 (프리뷰 형태). 마이크로소프트 스토어에서 아마존 앱 스토어를 설치한다. 또는 마이크로소프트 스토어에서 안드로이드 앱을 설치해도 된다. docs.microsoft.com/en-us/windows/android/wsa/ & support.microsoft.com/windows/f8d0abb5-44ad-47d8-b9fb-ad6b1459ff6c WSA VM 라이프사이클 WSA로 VM에서 앱을 실행하는 경우, 발생 가능한 단계는 3가지가 있다: 실행(Running) 가벼운 도즈 모드(Lightweight Doze): 3분 동안 앱 활동이 없는 경우 발생. 사용자 활동 또는 앱 알림에 따라 비활성화 된다. 비 실행(Not Running): 7분 동안 활동이 없는 경우 상태 간의 전환은 사용자 활동, 안드로이드 앱 및 앱 알림에 의해 트리거된다. 안드로이드 앱은 화면이 최소화되면 일시 중지되었다가 중지된다. 관련 문서 https://docs.microsoft.com/en-us/windows/android/wsa/ 성능 위 차트의 데이터는 Geekbench 브라우저에서 사용자가 제출한 Geekbench 5 CPU 결과에서 수집한 것이다: https://browser.geekbench.com/ 관련 자료: https://browser.geekbench.com/v5/cpu/13076342 https://browser.geekbench.com/processors/amd-ryzen-9-5900x https://browser.geekbench.com/v5/cpu/13065478 https://browser.geekbench.com/processors/intel-core-i9-10900 https://browser.geekbench.com/v5/cpu/13080168 https://browser.geekbench.com/v5/cpu/13080587 https://browser.geekbench.com/v5/cpu/13080585 패스마크 성능 테스트 관련 자료: 패스마크 성능 테스트 모바일 https://www.passmark.com/products/pt_mobile/index.php https://www.androidbenchmark.net/phone.php?phone=Samsung+SM-S908U1 https://www.androidbenchmark.net/phone.php?phone=OnePlus+MT2111 하드웨어 리포트 참고: 출처 Geekbench 5 해상도는 안드로이드 앱 화면 크기를 기반으로 한다. 200% 스케일fh 실행 시 320PPI 100% 스케일로 실행 시 160 PPI 설정 및 개발자 모드 WSA를 실행한다. 스크롤을 내려서 개발자 모드(Developer mode)를 활성화한다. IP 주소를 복사한다. ADB로 연결한다 -> adb connect 172.24.203.234 선택 사항: 다른 로컬 컴퓨터에서 지정한 포트와 IP 주소로 연결한다. 링크로 안드로이드 설정을 관리한다. 참고: 하위시스템은 "필요에 따라(As needed)" 또는 "지속(Continuous)" 실행할 수 있다. 파일 탐색은 가능하지만, 전송은 불가하다. 세부 정보 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에서의 타겟팅 FMX 프로젝트는 이미 윈도우 및 안드로이드 타겟팅이 가능하다. WSA는 미리보기(Preview) 상태이며, 델파이가 아직 완벽 지원하지는 않는다. 하지만 엠바카데로는 멈추지 않는다... ADB와 연결하면, IDE에 표시된다. 파이어몽키 앱이 실행되지 않거나 "안드로이드 기기는 선택한 플랫폼 아키텍처를 지원하지 않습니다"라는 오류가 표시될 수 있다. 사이드로딩! 안드로이드 64 컴파일 adb install -r –no-streaming FireMonkeyApp.apk 크기 조정 가능 크기 조정 가능한 안드로이드 앱 만들기 AndroidManifest.Template.xml 편집 <application android:resizeableActivity=“true”> 동일한 폴더에 여러개의 안드로이드 앱이 있는 경우, 동일한 AndroidManifest.Template.xml을 공유한다. FMX 안드로이드 앱을 원하는대로 조정할 수 있다. 메뉴얼 자동화 IDE Tools 메뉴에 manualadb.bat을 추가한다. Tools -> Configure Tools -> Add 파라메터: $PATH($EXENAME) $NAMEONLY($PROJECT) 출처: https://gist.github.com/jimmckeeth/3a453ccdb1a387644ca137b499d01879 모바일 테스트 WSA에서 작동하려면, 위치(Location)은 윈도우에서 사용 가능하도록 설정해야 한다. 알림(Notification)은 데스크탑에 표시되며, WSA를 동작시킬 수 있다. 더 많은 자료 온라인 세미나 발표자료, 링크, 다시보기: https://blogs.embarcadero.com/?p=134192 ADB 배포 GIST: https://gist.github.com/jimmckeeth/3a453ccdb1a387644ca137b499d01879 소개 블로그: https://blogs.windows.com/windows-insider/2021/10/20/introducing-android-apps-on-windows-11-to-windows-insiders/ WSA 문서: https://docs.microsoft.com/en-us/windows/android/wsa/ WSA 관련 참고자료: https://docs.microsoft.com/en-us/windows/android/wsa/release-notes WSA 하드웨어 요구사양: https://support.microsoft.com/windows/f8d0abb5-44ad-47d8-b9fb-ad6b1459ff6c 윈도우에서의 모바일 앱: https://support.microsoft.com/en-us/windows/mobile-apps-on-windows-abed2335-81bf-490a-92e5-fe01b66e5c48 WSA에서의 Scott 영상: https://youtu.be/FN6zON_zKd8 ARM: Intel Houdini 분석 (DefCon29에서의 Brian Hong 발표 자료) 영상: https://youtu.be/9oQ5XjA1aq0 발표자료: https://bit.ly/3IzoMkM 다음 단계 RAD스튜디오 무료 평가판 https://www.devgear.co.kr/products/start-for-free 커뮤니티 에디션(무료) https://devgear.co.kr/archives/products/delphi_ce 특별 프로모션 확인 https://devgear.co.kr/radoffer 유투브 구독 엠바카데로: https://www.youtube.com/c/EmbarcaderoTechnologies 데브기어: https://www.youtube.com/embarcaderoKR 트위터 팔로우 https://twitter.com/embarcaderotech 페이스북 좋아요 https://www.facebook.com/devgear 기술 블로그 엠바카데로: https://blogs.embarcadero.com/ 데브기어: welcome.devgear.co.kr 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.