| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java ME (J2ME) > Генерация мидлета на сервере "на лету" |
| Автор: egis 8.9.2011, 08:36 |
| Здравствуйте. Имеется мидлет исходник. Нужно исходя из него, меняя в нем пару строчек на сервере с помощью пхп генерировать на лету новые мидлеты с новым названием. Как это осуществить на удаленном сервере на платформе linux? Очень нужна ваша помощь, спасибо. |
| Автор: egis 8.9.2011, 18:46 |
| Подскажите, как на сервере линукс скомпилировать мидлет из командной строки? |
| Автор: PiyodaiSiyo 10.9.2011, 01:42 |
| я так думаю мало кто под линукс j2me sdk ставил. обычно это для серверов(многопоточность). ну как путь то скорее всего надо,как ее там, ant ом с sdk под эту ОС.. с антом раз помучатся а потом кайф. |
| Автор: math64 26.9.2011, 15:56 |
| Лучше переписать код так, чтобы исходники не менялись, а менялись только файлы ресурсов. Тогда из пхп нужно уметь только делать zip файл. Нужно заменить число или строку - создаёшь кофигурационный файл или добавляешь пользовательские параметры в манифест и считываешь их при старте мидлета. Нужно поменять что-то более сложное? В таком случае обычно зараннее известно, что нужно менять. Например, один код для Нокиа, другой для Самсунг. Подготавливаешь два варианта исходников и собираешь jar из тех, которые нужны в данном случае. |
| Автор: ivanovpv 27.9.2011, 08:45 |
| Ума не приложу кому и зачем это нужно... Ну если уж и нужно то сделать можно. Делаем примерно так: 1) Устанавливаем на серваке WTK (для тех кто совсем в танке http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javame-419430.html#sun_java_wireless_toolkit-2.5.2_01b-oth-JPR). Для продвинутых замечу, что Sun ME SDK 3.0 не подойдет, поскольку он не работает под Linux 2) Там же устанавливаем ANT. Для тех кто в танке - http://ant.apache.org/ 3) Пишем билд для Анта. Если непонятно - то http://archive.javapronews.com/javapronews-47-20030611J2MEUsingAntwithJ2ME.html 4) Далее под PHP генерируем мидлет 5) Напускаем ANT на сгенерированные исходники 6) Получаем JAR 7) И задаем себе вопрос: на хрена? |
| Автор: math64 27.9.2011, 13:54 | ||||
| Как раз зачем - понятно. Пользователь выбирает модель телефона, язык интерфейса, отвечает ещё на несколько вопросов (можно даже ввести sql запрос, результат выборки которого будет включён в jar) - и скачивает jar под свои требования. Но в большинстве случаев можно написать код так, чтобы для этого WTK, ANT и т.п. на сервере были не нужны Например, нужно заменить данные в массиве:
Переписываем код так:
и добавляем в jar файл /data.bin с нужными данными (можно вместо двоичного кода использовать текстовый файл) |
| Автор: math64 28.9.2011, 08:04 |
| Но если изменённый jar нужно подписывать (старая подпись недействительна), придётся всё равно ставить WTK. |
| Автор: ivanovpv 29.9.2011, 09:42 |
Мне кажется все равно проще кастомизировать приложение (или набор заранее сгенерированных приложений), чем генерировать кастомизированное приложение. |
| Автор: math64 29.9.2011, 11:28 |
| Ну вот конкретный пример: мидлет показывает карту города. Можно сделать кастомизированные приложения для Москвы, Петербурга, ... но для всех заранее не откомпилируешь. Можно скачивать карты на лету с сервера, но в месте где ты сейчас находишься может быть плохая связь. Но если мидлет должен быть подписан - проще скачать отдельно мидлет и отдельно данные и в мидлете пользоваться доступом к файловой системе телефона. |