Не уверен, смогу ли я спросить об этом здесь или в переполнении стека ...
Может ли обычная Java (Computer-Grade Java) работать на телефонах Android? Или это две совершенно разные версии Java?
Под компьютерным классом Java я имею в виду проекты от Eclipse и Netbeans (с папками проектов и файлами сборки)
java
android
compatibility
GipsyD
источник
источник
Ответы:
Типичные телефоны, работающие под управлением операционных систем, таких как Android, имеют собственную JVM (виртуальную машину Java). JVM отвечает за обработку так называемого «байт-кода». Вы можете думать о JVM как о виртуальном процессоре, который способен обрабатывать байт-код. Это сложнее, чем это, но я не буду вдаваться в подробности этого.
По сути, у вас есть несколько JVM для разных архитектур ЦП (например, ARM для телефонов и x86 для настольных компьютеров). Эти JVM могут обрабатывать байт-код и таким образом обеспечивать согласованное взаимодействие между устройствами. Однако, если библиотеки, на которые опирается ваше приложение, требуют собственных системных API, это не сработает. Поэтому, если вы пишете обычное старое приложение Java с использованием Swing или SWT, оно не будет работать на Android, поскольку Android не предоставляет эти API (насколько мне известно) для использования. Кроме того, у Android есть очень специфическая настройка того, как работают их приложения, и Android предоставляет собственную реализацию JVM. Это очень отличается от оракулов.
Поэтому, если вы просто кодируете что-то на Java, например, приложение командной строки или простое приложение с пользовательским интерфейсом, вы не сможете заставить это работать на Android, как на своем ПК.
источник