Запуск Java-байткод на Android - Sun JVM на вершине DalvikVM

голоса
18

Так как реализация Java ( OpenJDK) и виртуальная машина DalvikVM Android являются OpenSource это должно быть возможно реализовать JavaVM Sun на DalvikVM топ Google. Это сделало бы возможным запуск приложений на базе JVM и языков ( Clojure, Jython) вне коробки на андроиде.

Есть постоянные усилия для создания такой реализации Sun JVM?

Задан 22/03/2009 в 14:09
источник пользователем
На других языках...                            


7 ответов

голоса
13

OpenJDK использует машинный код , так что это будет нетривиальным порт ... есть по крайней мере одна VM ( JikesRVM ) , который написан на Java, к сожалению, не полностью работает реализация Java.

Поскольку DalvikVM работает классы, которые были преобразованы из файлов .class должно быть возможно преобразовать классы более. Тогда «только» проблема, когда языки генерировать байт-код на лету - для этого ей потребуется дополнительный шаг преобразования сгенерированный байткод к формату DalvikVM в то время как программа работает на DalvikVM.

Хммм .... рода JITT (Just In Time Translator), что covertes файлы классов до DalvikVM файлов во время выполнения на телефоне. Интересно, как медленно, что было бы.

Ответил 22/03/2009 в 17:07
источник пользователем

голоса
9

Портирование OpenJDK для Android платформы возможно. Есть усилия, как: Акулы, Ноль и качокавалло, что значительно облегчит процесс порта (= нет ASM, простой AWT сверстников). Плюс Android нет ничего, кроме Linux ядра позади. Единственный вопрос, когда это будет сделано кем-либо?

Кстати, как iPhone'ов и андроид телефонов получили совместимый процессор Jazelle, кто-то с очень сильным процессором взлома навыки были бы весьма желательны, чтобы добавить поддержку Jazelle к OpenJDK. Делая это, мы могли бы выбрать между: очень легким ускорением ресурсов (Jazelle) и JIT ;-)

О iPhone, это то же самое: порт можно. Только компания Apple поставила раздел в лицензии iPhone, которые явно запрещают использование VM. Согласно европейскому законодательству, для меня этот раздел лицензии незаконный торговать. Две причины: Вы не можете заставить / купить ссылку двух из вашего продукта. Здесь я настраиваю и Iphones связаны между собой. Вы не можете отказаться продавать то, что вы можете продать. Вот как только виртуальная машина будет строить для iPhone, если он отказался поставить на магазин iTune, то эта точка будет применяться. Есть ли кто-нибудь, что хочет chalenge компании Apple лицензии законности на земле? Я не думаю, что это так, несчастные люди будут летать на Android или любой другой платформе.

Ответил 29/09/2009 в 11:23
источник пользователем

голоса
1

технически это должно быть возможно интерпретировать точки доступа байт-код на Dalvik VM или байт-код Dalvik на точку доступа, но он никогда не будет эффективным (не упоминая элегантный) дизайн для долгосрочной перспективе. стоимость выполнения, что может стать очень высокой, особенно в отношении поддержания в дальнейшем развитии такого раскола экосистемы.

я думаю, с самого начала, Dalvik VM это вопрос управления мощностью / рынка, а не инновационных усилий, чтобы улучшить Java экосистему виртуальной машины. Dalvik VM и HotSpot VM являются озера два автомобильных моста через ту же реку построить параллельно пяти метров друг от друга. она разделяет и вносит путаницу в Java технологической экосистемы.

Google, на мой взгляд, безусловно, технологический лидер инновационных вкладов в течение последнего десятилетия, что карликовых гораздо более консервативный оракула, но в этом сам предмет они потрясли Java экосистему почти деструктивно. мы (программисты) должны стремиться к одной единообразному решению этой проблемы. то есть основная идея концепции «виртуальной машины» в любом случае - он не должен принадлежать ни Google, ни оракула.

Ответил 24/07/2011 в 01:14
источник пользователем

голоса
1

В то же время я нашел возможное решение (только JavaME):

Ответил 22/03/2009 в 17:57
источник пользователем

голоса
0

попробуйте GNURoot приложение (proot ptrace контейнер) с DEBiAN свистящих;
APT-получить обновление
APT-получить установку OpenJDK-7-JRE
/ USR / Библиотека / JVM / Java-7-OpenJDK-Armel / JRE / бен / Java ...
(включая длинный путь)

Ответил 05/09/2014 в 13:08
источник пользователем

голоса
0

См http://davy.preuveneers.be/phoneme/ для MIDP, Foundation и персональный профиль для Android виртуальных машинах ARM APK , . (Спасибо Дэви !!!)

Я упаковать JVM Foundation для использования командной строки и разместить его в vkfox.com/android/bin/foundation-jvm.bin для вашего удовольствия. Можно было бы использовать затмение компилятор в JavaIDEdroid бесплатное приложение, или старый Копи или kopisusu компиляторы с этой JVM, togeather с погасил Cdc + фундаментной банку файл из J2ME JDK для бортовой системы развития. Использование функции TerminalIDE - консольная и ВС компилятор - с указанной реф банкой также получить Вас там. Это, по существу эквивалентно обезглавленный JDK1.4 с возможностью MIDP или AWT графики.

Ответил 31/01/2014 в 20:12
источник пользователем

голоса
0

Я не думаю, что проблема носит технический характер. В теории можно перенести OpenJDK на iPhone, например, но есть законодательное ограничение на месте.

Ответил 22/03/2009 в 14:14
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more