Проекты по переводу Android на базу OpenJDK и портированию Dalvik VM для других ОС

Началась работа над проектом IcedRobot, в рамках которого несколько независимых энтузиастов намерены обеспечить возможность выполнения под управлением OpenJDK созданных для платформы Android приложений. Цель такого шага — желание обеспечить полностью легальную замену для платформы Android, не подверженную патентным претензиями и не нарушающую связанную с языком Java интеллектуальную собственность Oracle. Подобное станет возможным благодаря переходу на кодовую базу OpenJDK и исключению использования альтернативных Java-проектов, таких как виртуальная машина Dalvik и набор классов Apache Harmony. После такого шага уровень легальности Dalvik, работающего внутри JVM, формально будет аналогичен проектам JRuby, Jython или Clojure.

IcedRobot позволит обеспечить выполнение Android-программ, как обычных десктоп-приложений, на любых аппаратных платформах и в любых операционных системах.
В первую очередь разработчики намерены отвязать виртуальную машину Dalvik от используемого в платформе Android Linux-ядра. После этого планируется создать транслятор преобразующий DEX-байткод платформы Android в формат байткода Java VM, что даст в конечном итоге возможность уйти от использования Dalvik в пользу OpenJDK VM.

Технически проект IcedRobot состоит из трех субпроектов:

  • GNUDroid — реализация платформы Android только на базе свободного ПО GNU Classpath и OpenJDK. После завершения работы пакет позволит выполнять Android-программы как отдельные приложения и будет доступен под именем IcedRobot Micro Edition;
  • GNUBishop — фронтэнд платформы Android для Linux-десктопов, состоящий из набора компонентов для придания платформе Android функций, свойственных десктоп-системам и позволяющих интегрировать приложения с ними. Дополнительно планируется создать плагин для web-браузеров, позволяющий выполнять Android-приложения в браузерном окне. Конечный продут будет поставляться под именем IcedRobot Standard Edition;
  • Daneel — Java-интерпретатор для реализации виртуальной машины Dalvik в виде сервиса внутри JVM. Daneel является переходным звеном между Dalvik и OpenJDK.

Дополнительно можно отметить инициированный компанией Myriad проект Alien Dalvik — версию используемой в платформе Android виртуальной машины Dalvik, способную работать на других операционных системах. Первый вариант Alien Dalvik планируется выпустить для мобильной Linux-платформы MeeGo, что даст возможность бесшовно выполнять на MeeGo любые Android-приложения. Видеоролик с демонстрацией запуска Android программ в штатном программном окружении Nokia N900 можно посмотреть здесь.

Отличительной чертой Alien Dalvik является интеграция с ранее представленным проектом Dalvik Turbo, представляющим собой акселератор выполнения байткода, позволяющий значительно увеличить производительность программ, работающих под управлением виртуальной машины Dalvik. Большинство Android-приложений смогут выполняться под управлением Alien Dalvik без модификации, достаточно будет выполнить функцию установки, которая в прозрачном режиме перепакует APK-файл с программой. Для обеспечения работы программ, привязанных к аппаратным особенностям мобильных устройств, для Android SDK будет подготовлен специальный плагин, который значительно упростит процесс модификации подобных программ.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.