안드로이드는 갈래의 리눅스 커널 플러스 소프트웨어 스택이기 때문에 리눅스 시스템이 안드로이드 응용 프로그램 (예 : x86 용으로 컴파일 됨)을 실행할 수 있도록 리눅스 시스템에 추가 할 수있는 안드로이드 버전을 만드는 것과 관련된 프로젝트 나 아이디어가 있는지 궁금합니다. ).
이와 같은 것이 존재합니까 아니면 가능할까요?
(SDK와 함께 제공되는 에뮬레이터를 의미하지는 않습니다.)
안드로이드는 갈래의 리눅스 커널 플러스 소프트웨어 스택이기 때문에 리눅스 시스템이 안드로이드 응용 프로그램 (예 : x86 용으로 컴파일 됨)을 실행할 수 있도록 리눅스 시스템에 추가 할 수있는 안드로이드 버전을 만드는 것과 관련된 프로젝트 나 아이디어가 있는지 궁금합니다. ).
이와 같은 것이 존재합니까 아니면 가능할까요?
(SDK와 함께 제공되는 에뮬레이터를 의미하지는 않습니다.)
답변:
이것이 게시 된 이후 몇 년 동안 상황이 약간 변경되었습니다.
에뮬레이터 나 VM없이 Linux에서 Android 앱을 실행하는 몇 가지 방법 (아직 완벽하지는 않지만)이 있습니다.
그건 그렇고, x86을 위해 APK를 별도로 컴파일 할 필요가 없습니다. 작성한 앱은 DEX (Dalvik Executable) 코드로 컴파일되며, 커널 은 프로세서에 전송하기 위해 커널 에 의해 어셈블리 코드 (필요한 아키텍처에 따라)로 변환됩니다 . (이 마지막 부분은 이 답변 에서 가져온 것입니다. )
앱이 OS에서 기본적으로 실행되지 않기 때문에 아직 존재하지 않지만 대신 Dalvik Virtual Machine ( Wikipedia )을 사용합니다. 바이트 코드를 사용하고 각 앱에 대해 별도의 환경을 생성한다는 점에서 Java와 다소 비슷합니다. 따라서 Dalvik 환경을 다른 플랫폼으로 이식하지 않으면 일반 하드웨어에서 실행할 수 없습니다.
Myriad의 Alien Dalvik이라는 프로젝트가 다른 환경에서 Android 앱을 실행하려고 시도하지만 정보가 많지 않습니다. 무수한 외계인 달빅
이런 종류의 프로젝트가 있는지 모르겠습니다. 가장 가까운 것은 데스크톱 워크 스테이션의 Android 환경 포트 인 android-x86 프로젝트입니다. http://www.android-x86.org/