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

10 февраля 2011 года

Началась работа над проектом 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 будет подготовлен специальный плагин, который значительно упростит процесс модификации подобных программ.

Источники править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Проекты IcedRobot по переводу Android на базу OpenJDK. Портирование Dalvik VM для других ОС», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.