LINUX.ORG.RU
ФорумMobile

Реализация j2me для linux.

 , , , ,


0

2

Есть ли открытые реализации j2me в linux?
microemulator - pure-java реализация и производительность оставляет желать лучшего. firefox уделал с треском и тормозами (несмотря на них) operу mini.

Из закрытых пока видел только JBED, но свободно он не распространяется. Есть только варезные сборки под android разных версий, встречал ещё на телефонах его (на PNX обычно).
Есть jblend, он чуть быстрее, чем microemu, но не намного. В свободном распространении не видел

MiniRoboDancer, интересно, что в кнопочных (и не очень) телефонах используется?

★★★★★

Был phoneme, но оно вроде сдохло. Можно ещё попробовать выковырять из MOTOMAGX, если там не жаба в жабе тоже (да и если нативное, всё равно собрано под определённое железо ведь). Вообще, на подавляющем большинстве платформ используется допиленная Sun KVM, ею в открытом доступе и не пахнет. JBED — из сторонних велосипедов, которые пилились по причине несовместимости KVM или лицензионных соображений (мелкомягкие, например, с Sun не в ладах были).

У microemulator производительность вполне сносная, удручает поддержка JSR (Mascot Capsule, например, там и не пахнет).

MiniRoboDancer ★☆ ()

Я прошу прощения, но зачем это надо? Целевая аудитория сейчас отсутствует практически.

sT331h0rs3 ★★★★★ ()
Ответ на: комментарий от MiniRoboDancer

Страницу phoneme посмотрел, увидел 2006 и закрыл. Хотя может и есть в нём смысл.
Поддержкой jsr в microemu доволен (мне нужен opera mini mod, а он работает). Только тормоза при прокрутке и не удобный интерфейс - достаточно неприятно. Ещё старые версии мода не работали.

mittorn ★★★★★ ()
Ответ на: комментарий от DuMOHsmol

Под windows видел нативные реализации. Но оно совсем не нужно.

mittorn ★★★★★ ()
Ответ на: комментарий от sT331h0rs3

В основном для работы opera mini. microemu плохо справляется, а переписывать его на C слишком долго.

mittorn ★★★★★ ()
Ответ на: комментарий от ii8_

Посмотрю, но выглядит это как java se. Не уверен, что там есть нужные профили.

mittorn ★★★★★ ()
Ответ на: комментарий от MiniRoboDancer

1. Посмотри на него, он огромен и убог (хотя это лечится выпиливанием из окна всего лишнего).
2. Попробуй ввести русский текст. lcdui убог как не знаю что, русский вообще не вводится, копирование/вставка на костылях, canvas тоже не правильно коды клавиш принимает, кнопка нажимается и не отпускается.

mittorn ★★★★★ ()
Ответ на: комментарий от mittorn

он огромен и убог

Чего там огромного? Две узенькие панельки сверху и снизу?

Попробуй ввести русский текст

В стандартном текстбоксе? Ну он кривейший, да. Мне вообще интересно, зачем было велосипедить, если можно было сделать враппер над SWT-шным. ИЧСХ, с 2001 года даже явные и раскладконезависимые баги так никто не поправил. Впрочем, в OMm же текстбокс полноценный, я в нативный только для работы с буфером обмена вылезаю.

canvas тоже не правильно коды клавиш принимает

MicroEmulator вообще полклавиатуры оверрайдит, чтобы телефонные клавиши эмулировать. И это, похоже, без патчинга полностью не выпилить.

кнопка нажимается и не отпускается

А это уже гнепроблемы.

MiniRoboDancer ★☆ ()
Ответ на: комментарий от i-rinat

Просто, у меня высота экрана в 450 пикселей. Когда добавляется панель задач (а я к ней привык, заголовок окна и строка состояния (не знаю, почему её на скрине нет), остаётся меньше 400, а это уже очень мало. Хотя всё правится переписыванием этого интерфейса, но так же жизни не хватит.

mittorn ★★★★★ ()
Ответ на: комментарий от mittorn

Просто у меня высота экрана в 450 пикселей.

Поверни устройство в портретное положение.

Хотя всё правится переписыванием этого интерфейса, но так же жизни не хватит.

Это намного быстрее, чем писать свою реализацию J2ME на сях.

i-rinat ★★★★★ ()
Ответ на: комментарий от i-rinat

Аппаратно не поддерживается.Только промежуточный буфер или через GLES.

mittorn ★★★★★ ()

На всяких старых нокиях с симбианом и S40 java работала очень шустро по причине аппаратного ускорения встроенного в ARMы тех времён, по сути те ARMы большую часть байт-кода исполняли как нативный код (для этого, естественно, контекст приходилось переключать в режим java, впрочем ARMам это привычное дело, - поддерживать одновременно кучу не совместимых между собой бинарных наборов инструкций)

qrck ★★ ()
Ответ на: комментарий от qrck

Интересно, есть ли эти расширения в современных армах и насколько используются? java в Features (/proc/cpuinfo) - оно? Встречал на некоторых armv5 (точнее armv5tejl), посмотрел на более современных cortex-a8 - нету. Хотя может просто не определяет ядро.

P.S. Разобрался сам: (http://en.wikipedia.org/wiki/Jazelle) сейчас вместо него thumbee.

mittorn ★★★★★ ()
Последнее исправление: mittorn (всего исправлений: 1)
Ответ на: комментарий от mittorn

По моему мнению, все эти игры с GNU/Linux на планшете — тупиковый путь. Пока хочется этим заниматься, не хватает умений и навыков для реализации задуманного. Но когда умений становится достаточно, хочется уже чтобы оно просто работало и не клепало мозг, и просто покупаешь готовый продукт.

i-rinat ★★★★★ ()
Ответ на: комментарий от mittorn

а он ещё хуже.

По крайней мере, под него уже есть браузеры, которыми можно пользоваться на устройстве с тачскрином.

i-rinat ★★★★★ ()
Ответ на: комментарий от mittorn

А opera mobile?

Не понял вопроса. Opera Mobile есть под Android, это входит в «под него уже есть браузеры, которыми можно пользоваться на устройстве с тачскрином.»

i-rinat ★★★★★ ()
Ответ на: комментарий от mittorn

А phoneme оказывается работает и есть порт на anroid, с него пишу.

Ты запустил Opera mini в PhoneMe в Android? А чего бы сразу Opera Mini на Android не поставить?

i-rinat ★★★★★ ()
Ответ на: комментарий от i-rinat

opera mini mod только на j2me есть. Если хочешь узнать, чем он лучше, запусти версию 4.22. в микроемуляторе и представь, что ничего не торпозит.
На phoneme реально не тормозит, но не читает часть графресурсов.

mittorn ★★★★★ ()
Ответ на: комментарий от i-rinat

Делал уже. Оно не работает на старом android из-за кривого верификатора, не дружащего с proguard, имеет жуткий интерфейс (половину приходится переписывать) и ещё и виснет на отдельных функциях. А тормозит так, что смысла в нём нет.
j2me должен быть нативным и прирост производительности в phoneme - тому показатель.

mittorn ★★★★★ ()
Ответ на: комментарий от mittorn

Оно не работает на старом android из-за кривого верификатора, не дружащего с proguard

Хм, а у меня сносно работало на android 2.2.

и ещё и виснет на отдельных функциях.

Да, такое было, раз пару дней подвисало. Но я всё равно часто приложение закрывал, ибо ОЗУ там было всего 192 МБ.

А тормозит так, что смысла в нём нет.

Да нормально работало. Может у тебя с операционной системой что-то не так?

j2me должен быть нативным

Ну так microemulator не интерпретирует его, он перегоняет всё приложение целиком в байт-код Dalvik'а.

i-rinat ★★★★★ ()
Ответ на: комментарий от i-rinat

Значит плохо искал. Там почти все ссылки были битыми.

mittorn ★★★★★ ()
Ответ на: комментарий от i-rinat

Старый это 1.5
На 1.0 должно всё работать и на 2.0+ тоже.
opera mini mod в microemu жрёт больше процессора и оперативки, чем нативный firefox.
Под нативным подразумевалось, что код будет дёргать свои натиыные функции, а не 10 раз проврапленные. В microemu тормозит именно графика из-за кривой отрисовки градиентов.

mittorn ★★★★★ ()
Ответ на: комментарий от mittorn

Ну не знаю, под Android на MIPS'е нативного Firefox'а не было, сравнивать не могу. Может это просто Opera Mini mod сам по себе жрёт много CPU?

На 1.0 должно всё работать

А зачем тебе это? У тебя наверняка не старее 4.0.

i-rinat ★★★★★ ()
Последнее исправление: i-rinat (всего исправлений: 2)
Ответ на: комментарий от i-rinat

И может, я что-то не понимаю, но этот скрипт ничего не качает кроме makefile, пары xml и jpeg. Патч некуда накладывать.

mittorn ★★★★★ ()
Ответ на: комментарий от i-rinat

Да, но оно выглядит, будто репы путые. Возможно, что-то не так с подключением (у меня 3G), но при ping все пакеты доходят..

mittorn ★★★★★ ()
Ответ на: комментарий от i-rinat

Купил когда старше 2.2 ещё не было. по адекватной цене только старьё.

mittorn ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.