Содержание |
Мидлет (midlet) - приложение написанное на Java, работающее на мобильном телефоне или смартфоне.
Так как компания Sun (создатель java) в свое время что-то не поделила с microsoft, КПК оказались "в пролете". Итак, официальной «наитив» поддержки мидлетов в КПК нет. Но есть несколько программ (т.н. мидлетменеджеров) от сторонних разработчиков, которые будут здесь рассмотрены. Большая признательность моему «собратьям по труду» rendor’у, volta_john'у и всем остальным.
(эмулятор, устанавливаемый на машинки Magiсian и другие зверьки от HTC.)
Имхо, самый шустрый эмулятор с качественной эмуляцией. Работает под Windows Mobile 2003 SE и Windows Mobile 5. Ставится в основную память. В «установке/удалении» программах не видна (по крайней мере у меня). Для работы не требует JAD файлов.
Для установки просто тапните по интересуемому файлу и он установится.
Потом заходим в MIDlet manager и запускаем нужную прогу.
Все мидлеты с их сейвками и настройками сидят в папке Windows\app\jam, посему ее иногда чистим, дабы не забивать память. И еще – если мидлетов установлено много иногда сбрасывает их… приходится ставить заново.
Эмулятор Tao v10.1.2.76 (Build 20040705) ставится но показывает ошибку?
рецепт от Mforward
Оказалось очень просто заставить его работать. Берём шрифт tahoma.ttf 243.18 кб. с ББ, и Заменяем им родной в /windows/ на КПК Реско Эксплорером. Реско ругнётся, что мол файл в Ром и опасно, смело заменяем. После софт ресет, и ура, ТАО начнёт ЗАПУСКАТЬ мидлеты!
ТАО Runtime JTWI 1.0: v.11.1.7.1023 - Установка
рецепт от volta_john
Запускается ТОЛЬКО на WM5.0 Pocket PC. Установка. 1. Создайте нужные ключи реестра. На этом вопросе остановлюсь подробно. 1.1. Если у Вас девайс от НТС с WM5.0, и ТАО Intent JMM (не важно, какой версии) уже предустановлен, то пропускайте этот пункт и переходите сразу к пункту 2. Ключи реестра для эмулятора не будут соответствовать требованиям полной новой версии программы на 100%, но это не смертельно, всё будет работать. 1.2. Если у Вас девайс не от НТС, ТАО Intent JMM не предустановлен (или Вы сами ранее его версию 10.1.7.551 не устанавливали), но у Вас прямые руки, светлая голова и есть опыт работы с реестром, то создайте следующие ключи по ниже приведённой инструкции: - <characteristic type="Registry">
- <characteristic type="HKCR\.jad">
<parm name="" value="jmm.jadfile" datatype="string" /> <parm name="Content Type" value="text/vnd.sun.j2me.app-descriptor" datatype="string" />
</characteristic> - <characteristic type="HKCR\.jar"> <parm name="" value="jmm.jarfile" datatype="string" /> <parm name="Content Type" value="application/octet-stream" datatype="string" /> </characteristic> - <characteristic type="HKCR\CLSID\{c4cd135d-8e79-4b89-a58a-0d2e8f3604ba}"> <parm name="" value="JADFile Class" datatype="string" /> </characteristic> - <characteristic type="HKCR\CLSID\{c4cd135d-8e79-4b89-a58a-0d2e8f3604ba}\Control"> <parm name="" value="" datatype="string" /> </characteristic> - <characteristic type="HKCR\CLSID\{c4cd135d-8e79-4b89-a58a-0d2e8f3604ba}\InprocServer32"> <parm name="" value="\Реальный_путь_к_файлу\JMM\jmmfilter.dll" datatype="string" /> <parm name="ThreadingModel" value="Both" datatype="string" /> </characteristic> - <characteristic type="HKCR\CLSID\{c4cd135d-8e79-4b89-a58a-0d2e8f3604ba}\ProgID"> <parm name="" value="jmm.jadfile.1" datatype="string" /> </characteristic> - <characteristic type="HKCR\CLSID\{c4cd135d-8e79-4b89-a58a-0d2e8f3604ba}\TypeLib"> <parm name="" value="{4f94a7e5-c36a-46b8-8829-4f82ee718290}" datatype="string" /> </characteristic> - <characteristic type="HKCR\CLSID\{c4cd135d-8e79-4b89-a58a-0d2e8f3604ba}\Version"> <parm name="" value="1.0" datatype="string" /> </characteristic> - <characteristic type="HKCR\CLSID\{c4cd135d-8e79-4b89-a58a- 0d2e8f3604ba}\VersionIndependentProgID"> <parm name="" value="jmm.jadfile" datatype="string" /> </characteristic> - <characteristic type="HKCR\jmm.jadfile"> <parm name="" value="JADFile Class" datatype="string" /> <parm name="EditFlags" value="268500992" datatype="integer" /> </characteristic> - <characteristic type="HKCR\jmm.jadfile\CLSID"> <parm name="" value="{c4cd135d-8e79-4b89-a58a-0d2e8f3604ba}" datatype="string" /> </characteristic> - <characteristic type="HKCR\jmm.jadfile\CurVer"> <parm name="" value="jmm.jadfile.1" datatype="string" /> </characteristic> - <characteristic type="HKCR\jmm.jarfile"> <parm name="" value="JARFile Class" datatype="string" /> <parm name="EditFlags" value="268500992" datatype="integer" /> </characteristic> - <characteristic type="HKCR\jmm.jarfile\DefaultIcon"> <parm name="" value="\Реальный_путь_к_файлу\JMM\Jmm.exe,-4" datatype="string" /> </characteristic> - <characteristic type="HKCR\jmm.jarfile\Shell\Open\Command"> <parm name="" value=""\Реальный_путь_к_файлу\JMM\Jmm.exe" "%1"" datatype="string" /> </characteristic> - <characteristic type="HKCR\PROTOCOLS\Filter\text/vnd.sun.j2me.app-descriptor"> <parm name="" value="jad file MIME Filter" datatype="string" /> <parm name="CLSID" value="{c4cd135d-8e79-4b89-a58a-0d2e8f3604ba}" datatype="string" /> </characteristic> - <characteristic type="HKCR\PROTOCOLS\Filter\text/vnd.sun.j2me.app-descriptor;charset=ISO-8859- 1"> <parm name="" value="jad file MIME Filter" datatype="string" /> <parm name="CLSID" value="{c4cd135d-8e79-4b89-a58a-0d2e8f3604ba}" datatype="string" /> </characteristic> - <characteristic type="HKCR\MIME\Database\Content Type\text/vnd.sun.j2me.app-descriptor"> <parm name="" value="JAD file MIME type" datatype="string" /> <parm name="Extension" value=".jad" datatype="string" /> </characteristic> - <characteristic type="HKLM\SOFTWARE\Tao\JMM\MIMEFilterRegistered"> <parm name="" value="" datatype="string" /> </characteristic> - <characteristic type="HKCR\TypeLib\{4F94A7E5-C36A-46B8-8829-4F82EE718290}\1.0\0"> <parm name="" value="\Реальный_путь_к_файлу\JMM\jmmfilter.dll" datatype="string" /> </characteristic> - <characteristic type="HKCR\TypeLib\{4F94A7E5-C36A-46B8-8829-4F82EE718290}\1.0\0\win32"> <parm name="" value="\Реальный_путь_к_файлу\JMM\jmmfilter.dll" datatype="string" /> </characteristic> - <characteristic type="HKCR\jmm.jadfile\DefaultIcon"> <parm name="" value="jmm.exe,-4" datatype="string" /> </characteristic> - <characteristic type="HKCR\jmm.jadfile\FilterRegistered"> <parm name="" value="" datatype="string" /> </characteristic> - <characteristic type="HKCR\jmm.jadfile\Shell\Open\Command"> <parm name="" value="jmm.exe "%1"" datatype="string" /> </characteristic> - <characteristic type="HKLM\SOFTWARE\Tao\Jmm"> <parm name="DataPath" value="\Application Data\Tao\intent" datatype="string" /> </characteristic> - <characteristic type="HKLM\SOFTWARE\OEM\MASD"> <parm name="Tao Java" value="11_1_7_1023" datatype="string" />
Данная инструкция описана в конце файла _setup.xml, входящего в приложенный архив. Путь к файлам там указан, разумеется, в папку \Windows\. Пропишите вместо неё свой предполагаемый путь. 1.3. Если у Вас девайс не от НТС, ТАО Intent JMM не предустановлен (или Вы сами ранее его версию 0.1.7.551 не устанавливали), однако к вышеописанной категории пользователей Вы не относитесь, то, в таком случае, скачайте из шапки темы на КПК эмулятор ТАО версии 10.1.7.551, установите как обычно из каба в папку по умолчанию, а затем удалите вручную из папки \Windows\ следующие файлы: elate.dll elatehost.dll elateres.dll elateres.dll elatezip.dll jmm.exe jmmbox.dll jmmfilter.dll rofs_target.zip target.img.zip
Ключи реестра для эмулятора не будут соответствовать требованиям полной новой версии программы на 100%, но это не смертельно, всё будет работать. 2. Скачайте на КПК приложенный архив и распакуйте его куда душа пожелает, эмулятор отлично работает как из внутренней памяти, так и с карты памяти. Лучше всего будет распаковать его в уже заранее выбранную папку, если ранее ТАО у Вас не стоял, и ключи реестра Вы создавали сами . В полном адресе пути установки ТАО JMM не должно быть русских букв. 3. Создайте ярлык для jmm.exe (не буду описывать, как это делается) 4. Откройте jmm.exe. После успешного запуска Менеджера Мидлетов ТАО с чистой совестью его закройте. 5. Выполните софт-резет. На этом установка эмулятора завершена. Используйте на здоровье. Описывать, как пользоваться эмулятором, я не буду. Интерфейс и управление мидлетами ничем принципиальо от старых версий не отличается, всё до боли привычно и знакомо. У кого раньше ТАО JMM не было - читайте файл справки intent Java MIDlet Manager.htm, говорят, чтение очень полезно. И на последок. Не ждите, что полная версия ТАО сможет запустить любой мидлет от любого телефона. Это далеко не так. Игры от Nokia и Siemens по прежнему за бортом, 3D игры с мультиплеером через блютуз не работают, и т. д, и т. п. Тем не менее, это просто ОГРОМНЫЙ шаг вперёд в вопросе запуска мидлетов на КПК. Ура, товарищи!
P.S. Разумеется, каб пришлось распотрошить.
(ШИКАРНЫЙ эмулятор явы, Выдрана из моторолки mpx200.)
Работает под Windows Mobile 2003 и Windows Mobile 2003 SE и Windows Mobile 5 даже лучше чем Intent jmm. Требует наличия как .jar так и .jad файлов (скачайте jad maker, тут] их куча, выбирайте… Так же там программы для подстановки некоторых классов, ребилд jar'a часто помогает). Естественно наиболее хорошо держит игры от моторолки.
Есть 2 важных плюса:
А теперь минусы
Степ бай степ
Coretek Delta java manager создает в основной памяти в Program Files папку Coretek, все игры устанавливаются в нее. В случае удаления игры она без проблем удаляется и из этой папки. Сам же ставится путем копирования файлов на карточку… Доступна здесь. Новая (2006 г.) версия для WM 5.0 (cab)+ таже, но для установки на Storage card здесь
(довольно тормозной, но при этом работает практически на всех машинках)
Иногда довольно сильно глючит – мерцает экран, неотображаются буквы и т.п.
Работает под Windows Mobile 2003 SE и Windows Mobile 5. Ставится в Program Files\j9\midp20, можно ставить на Storage card. Пишет все ява-приложения (мидлеты) в My Documents/midlets. Для работы не требует JAD файлов.
Степ бай степ (аналогичен TАО)
Для установки просто тапните по интересуемому файлу и он установится.
Потом заходим в MIDlet HQ и запускаем нужную прогу.
Доступна здесь (cab)
(работает также на WM 5.0)
Ссылку на сайт, где была скачана новая версия, выложил dogmat73.
Новая версия работает существенно лучше предыдущей. Многие мидлеты, ранее не запускавшиеся на этом эмуляторе, теперь нормально работают, игры больше не мигают на движущихся объектах. Но эмулятор съедает много памяти. Если памяти мало, он вообще не запускается, а если какой-либо мидлет вроде-бы начинает открываться, но затем все тормозится, это сигнал к тому, чтобы посмотреть - сколько осталось памяти. Если увеличить ползунком память для работы программ (актуально для Windows Mobile 2003), то все начинает работать. Мне приходится закрывать все программы, кроме самого эмулятора, но для некоторых игр памяти все равно не хватает (Windows Mobile 2003).
Как и в предыдущей версии, эмулятор при запуске образует менеджер мидлетов под именем "Midlet HQ". В отличие от предыдущей версии эмулятор пишет все установившиеся мидлеты в My Documents/temp. После удаления из "Midlet HQ" какого-либо мидлета он из этой папки может автоматически не удалиться, нужно это проверять и при необходимости удалять вручную, однако случается такое очень редко. Как и предыдущая версия, эмулятор хорошо работает на Storage card. Jad-файл при установке мидлетов не требуется.
Доступна здесь (cab)
(от NSIcom Software – странная штука...)
Иногда запускает мидлеты простым тапом по ним, но чаще нужно писать довольно объемные ярлыки для запуска. Причем у никоторых запускает многие программы, у меня пару тройку простейших… В общем на стадии тестирования.
Работает под Windows Mobile 2003 SE и Windows Mobile 5. Ставить в main memory!
Степ бай степ
Собственно запускается 2 способами – либо простой тап, либо ............ очень непросто.....
(Описание составлено rendor’om aka Евгений Рендоренко)
При использовании эмуляторов CrEme, Jeode JVM, IBM J9 PPRO10 JVM мидлеты на некоторых девайсах запускаются только при наличии ярлыков запуска. Вот образцы содержимого таких ярлыков:
Ярлык состоит из черырех параметров. Рассмотрим эти параметры по порядку.
Первый параметр ярлыка - это адрес exe-файла эмулятора. В данном образце это:
На разных девайсах этот адрес может быть различным, поэтому подлежит правке.
Через пробел указывается второй параметр ярлыка - параметр загрузки мидлета. В данном образце это:
Этот параметр связан, в частности, с особенностями расположения классов явы в папках эмулятора. Как правило этот параметр является неизменяемым. Для CrEme параметр -Ob означает вывод на консоль, а -Of – запись в файл \jscpOut.txt (во всяком случае так написано в FAQ). Для IBM параметр "-jcl:ppro10" обозначает путь к папке с классами явы. Для Jeode параметр -Djeode.evm.console.local.keep=true означает вывод на консоль. Для запуска мидлета без предварительного запуска консоли Jeode указывается парамерт -Xnowinceconsole. Подробнее об этом можно посмотреть здесь
Показатель -cp во всех ярлыках означает classpath, причем так можно и записывать: -classpath.
Далее через пробел указывается третий параметр ярлыка - адрес jar-файла мидлета.
В данном образце это:
Jar-файл мидлета желательно класть в корневой каталог КПК, как указано в этом образце, т.к. на некоторых эмуляторах с карты памяти мидлеты запускаться не хотят. Естественно данный адрес подлежит правке под конкретный адрес конкретного мидлета.
Через пробел указывается четветрый параметр ярлыка – имя запускаемого класса мидлета. В данном образце это:
Чтобы найти этот параметр, необходимо на настольном ПК запустить файл ***.jar, далее раскрыть каталог META-INF, запустить просмотр файла MANIFEST.FM и найти строку: MIDlet-1. Последний показатель в этой строке и будет необходимым для ярлыка именем запускаемого класса мидлета. Если этот последний показатель указан несколькими словами, разделенными точкой, например: gui.ClientForm, это означает, что внутри файла ***.jar находится папка gui, а уже в ней лежит запускаемый класс ClientForm. В таком случае четвертый показатель так в ярлыке и указывается - через точку, а не через слэж: gui.ClientForm. Для эмулятора IBM запускаемый класс в данном образце вообще спратан в глубине очень длинного списка раскрывающихся папок:
"com.ibm.weme.examples.golftracker.awt.GolfScoreTrackerApp". В некоторых мидлетах запускаемый класс нужно искать в строке Main-Class файла MANIFEST.FM.
Можно в принципе на КПК переименовать jar в zip, затем добраться до файла MANIFEST.FM и посмотреть его содержимое. Однако обратное преобразование zip в jar будет проблемным, ситема перестанет определять его как мидлет, поэтому для просмотра MANIFEST.FM нужно сделать копию jar-файла в другой папке и затем удалить его уже в виде zip'а.
Все параметры ярлыка для IBM J9 PPRO10 должны быть заключены в кавычки, как на образце, иначе работать этот ярлык не будет.
Ярлык правится в Resco Explorer: жмем на него длинно, открываем Свойства, в Свойствах переходим на вкладку Ярлык и правим содержимое ярлыка в окошке «Конечный путь».
Мне удалось запустить на всех этих 3 эмуляторах через ярлыки прогу Toonel для сжатия интернет-трафика, а также те демонстрационные версии мидлетов, которые указаны в образцах. Но в то же время в инете есть много положительных отзывов на них, однако они написаны не владельцами Кьютеков.
Образцы ярлыков приложены: здесь
Доступна здесь:
Windows Mobile 2003 SE - здесь
Windows Mobile 5 - здесь
Лекарство выложенное sfoto
«Это не кейген, а патч к файлу jscp.dll, его можно применять или к самому jscp.dll, или прямо к cab-файлу программы. Подходит к версиям 3.26, 3.27, 4.0, 4.10 и может быть подойдёт к новым»
По этим менеджерам, увы довольно мало пока информации.
Устанавливать в основную память
На сколько я понял ставится в качестве штатного на АТОМЫ.
Текущая версия не запустила на джеме ничего…
Прямая ссылка на скачивание: вот
(эмулятор явы от IBM, фактически урезанная и облегченная версия MIDP20…)
Запуск ТОЛЬКО с ярлыка с прописанными путями.
cab-файл именуется: weme-ppro10-wm2003-arm_22.cab.
Прямая ссылка на скачивание: вот
Хотелось бы поделиться основными проблемами, имеющимися даже после установки этих программ.
Разыскивается клавиатурка для покета, где можно САМОМУ настраивать коды клавиш! С помощью элементарного апплета KEYSCAN, можно подобрать необходимый код для софт клавиш. Думается мне что это единственное верное решение. Еще неплохобы что бы клавиатура была визуально настраиваемой (задавать размер клавиатуры и кол-во кнопок). или если кто из программеров готов - исправить эту _http://www.viksoe.dk/code/phonesip.htm_ или здесь _http://www.beyondthetech.com/blogs/wm/2005/11/custom_sip_for_the_wizard.html Я думаю все ПОКЕТ КОМЬЮНИТИ будет ОЧЕНь благодарно вам за это. Вы же хотите поиграть в DoomRPG, Heroes, Call of Duty и шикарный стратегический ява вариант Allods.
Господа, просьба к программерам, докторам - посмотрите плиз где задается размер основного экрана. Должно там это быть. И подарите покетоводам наверное лучшиймидлет менеджер на текущий момент. А вот разрешения - хекс едиторами видно что dmidp.exe использует для работы несколько комманд на выставление разрешения - только самих значений в явном виде, увы, пока не нашел.
Попробовать долбить разработчиков и ждать обновлений. Собственно в ТАО group, мне сказали что знают об этом, но делать что-то для решения вряд ли будут. В коретек не пробится – все на китайском =) [/SIZE]
Внимание самый маленький и удобный Эмуль для PC, удобно просматривать предварительно игры и приложения [1] (бесплатный)