FireMonkey Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
FireMonkey 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

FireMonkey Q&A
[207] Re: 엠바 툴로는 Android Emulation 이 사실상 불가능
빌더(TWx) [builder] 2601 읽음    2020-07-17 00:36
하쿠 님이 쓰신 글 :
:
: 단순히 화면에 버튼이 있고, 누르면 msg 창이 뜨는 구조입니다.
:
: 똑같은 코드로 다른 실 사용 기기에서는 잘 작동합니다.
: 첨부화면과 같이 가상화면에서는 별다른 에러 메시지도 없이 작동이 되지 않습니다.
:
: 혹시 위와 같은 경우 해결하신분 계실까요..?
:
: Android 32-bit, 64-bit 다 해봤는데.. 안됩니다




답변:


엠바 툴로는 안드로이드 에뮬레이션이 사실상 불가능 하고...
각기 다른 API 레벨에서 에뮬레이션 속도를 빠르게 사용하고자 한다면 Visual Studio를 사용해야 합니다.


몇가지 조건이 있는데...

1.
사용하는 PC가 하드웨어 가상화를 지원해야 하고.

2.
OS 에서 Hyper-V를 Enable 해줘야 하고.

3.
MS에서 제공하고 있는 안드로이드용 에뮬레이터 설치. (Visual Studio 모바일 플렛폼으로 설치)
MS 안드로이드용 에뮬레이터는 Hyper-V 하드웨어적 가상화 기술을 이용함.

4.
Intel x86/x64 용으로 컴파일된 안드로이드 OS 이미지 (Visual Studio에서 제공)

5.
컴파일러 설정에서 안드로이드 타겟을 x86 이나 x64로 설정.



안드로이드 OS는 리눅스 커널 기반이라 커널모드에서만 실행될 수 있는 기계어 코드와
유져모드에서 실행될 수 있는 기계어 코드를 OS이미지에서 같이 갖고있게 되는데...

커널모드에서만 실행될 수 있는 일부분의 기계어 코드만 Hyper-V 하드웨어적 가상화 기능을 이용해서 실행되고,
나머지 기계어 코드들은 해당 PC의 CPU를 직접 이용해서 다이렉트로 실행되므로 에뮬레이션 속도가 빠르죠.


MS 에서 개발한 안드로이드용 에뮬레이터를 설치하면 엠바 툴에서 써먹을 수 있지 않을까 생각할 수도 있겠으나.

엠바 툴은 컴파일러가 안드로이드 타겟으로 ARM CPU 코드 밖에 생성하지 못하므로 이용할 수 없고.


안드로이드 API 레벨 마다 빠른 속도로 돌아가는 에뮬레이터 환경이 필요하면...
intel x86 / x64 용으로 컴파일된 안드로이드 OS 이미지를 하드웨어적 가상화 기능을 이용해서 에뮬레이션 할 수 있어야 하고,
컴파일러도 안드로이드 타겟으로 x86 / x64 코드를 생성 할 수 있어야 해서...

Visual Studio 는 필수 입니다.


엠바 툴로는 사실상 불가능 하고...
앞으로도 상황이 바뀌는 일은 없을 겁니다.

엠바는 하드웨어 가상화 기술이 없어서 빠른 속도로 돌아가는 에뮬레이터 개발이 불가능 할 것이므로.



+ -

관련 글 리스트
205 Rad Studio, Delphi로 가상머신 켜는데 먹통.. 해결 가능할까요? 하쿠 2150 2020/07/16
207     Re: 엠바 툴로는 Android Emulation 이 사실상 불가능 빌더(TWx) 2601 2020/07/17
(링크)     C++Builder Q/A > Re: 엠바 툴로는 Android Emulation 이 사실상 불가능
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.