Страницы

Поиск по вопросам

пятница, 27 декабря 2019 г.

Почему нельзя запустить android приложение на Linux?

#java #android #linux


Здравствуйте! Почти все приложения для Android написаны на Java. И тем не менее их
нельзя запустить на компьютере. Почему? А если перекомпилировать?
В чем разница между Java на Android и Linux? Можно их запустить на компьютере?
    


Ответы

Ответ 1



Во первых Андроид это операционная система и работает на виртуальной машине по жавой. Хоть и сделана на база линукса они разные, разные библеотеки, дрова и тд. Тем более приложение компилируется на архитектуру процессоров ARM. Но запустить на компе возможно с помощью эмулятора, па пример Genymotion.

Ответ 2



Десктопная Java работает на Sun'овской виртуальной машине JVM Android'ная Java работает на виртуальной машине Dalvik, которая по байткоду несовместима с JVM Начиная с Kitkat Android начал переход на новую виртуальную машину ART (Android Runtime) Существуют перекомпиляторы с байткода JVM на Dalvik и обратно. Стандартно это делается с помощью утилиты dx встроенной в Android SDK. Но проблема в том, что это не поможет, поскольку Java байткод будет вызывать встроенные нативные функции телефона отсутствующие в десктопе. Единственный выход - это запускать APK файлы в окружении эмулятора: либо на GenyMotion, который работает поверх Ораклевской виртуалки, либо стандартного AVD устройства идущего в комплекте с Android SDK. Update Сообщается, что выпущен плагин для браузера Chrome, который позволяет запускать Андроид приложение в окружении браузера: втыкаем и читаем

Ответ 3



ARC Welder пытается решить проблему запуска Android-приложений на десктопе. Пока, похоже, не слишком удачно.

Комментариев нет:

Отправить комментарий