Может ли Android JVM работать на ПК? - PullRequest
7 голосов
/ 17 февраля 2010

Может ли Android JVM работать на ПК?

или это ограничено работой только на мобильном устройстве?

Насколько я понимаю, когда вы разрабатываете с использованием eclipse, оно эмулируется, а не работает правильный jvm?

Ответы [ 5 ]

7 голосов
/ 17 февраля 2010

Да и нет. Android VM фактически называется Dalvik VM. Он выполняет исполняемые файлы dalvik (dex), которые обычно упаковываются в файл пакетов Android (apk). Файлы dex создаются из файлов байт-кода Java (вывод компиляции java, файлы .class), которые работают на обычном jvm. В настоящее время Dalvik VM работает на процессорах ARM и MIPS. Когда вы говорите о работе на ПК, я предполагаю, что вы говорите о компьютере на базе x86. В этом случае вам нужно использовать эмулятор для запуска виртуальной машины. Стандартный эмулятор, поставляемый с Android SDK, использует qemu ( qemu site ) для запуска эмулятора стандартного процессора arm.

Также ведется работа по переносу на x86, но в настоящее время наиболее распространенным способом является emualtion.

С точки зрения андроида, работающего на нетбуках, все опять сводится к процессору ...

Также имейте в виду, что если вы хотите запускать приложения Android на ПК, вам нужно больше, чем просто виртуальная машина. В основном вам нужно запустить весь стек Linux (например, включая видеокодеки и т. Д.). Самый простой способ сделать это - запустить эмулятор.

3 голосов
/ 27 февраля 2010

все остальные ответы неверны. если вам действительно нужна виртуальная машина, вы можете запустить dalvikvm в Linux.

вам придется создать его самостоятельно, хотя ... см. Мой ответ на Как мне сделать изолированный далвик , чтобы узнать, как это сделать.

1 голос
/ 17 февраля 2010

Да, Android SDK поставляется с эмулятором для тестирования ваших приложений на ПК.

Программы компилируются в исполняемый байт-код Dalvik, а не байт-код Java. Подробнее см. http://en.wikipedia.org/wiki/Dalvik_virtual_machine.

0 голосов
/ 17 февраля 2010

Еще одно уточнение. Эмулятор Android SDK использует байт-код dalvik. Единственный способ задействовать jvm - это процесс компиляции. Исходный код Java -> байт-код Java -> исполняемый код davlik ...

0 голосов
/ 17 февраля 2010

Да, может, но оно должно быть перенесено на фактическую архитектуру ПК. Такого еще не существует (пока) AFAIK

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...