1. В ТоталКоммандере при помощи Ctrl+PgDn зашел в файл prince.jar. (Можно
использовать WinRar)
2. В другой стороне ТоталКоммандера создал папку classes. (можно использовать
Проводник )
3. Скопировал в эту папку все файлы с расширением class (включая классы
в подкаталогах этого JAR“а со всеми путями).
4. Из папки classes скопировал класс CMain.class в другую папку (скажем,
src). Вообще, выбор главного класса довольно прост: надо выбирать тот, на
который есть ссылка в prince.jad в строке: MIDlet-1: prince, , prince.CMain.
prince.CMain и есть главный класс.
5. Запустил DJ Java Decompoler (http://motofan.ru/index.php?act=Downloads&do=download&id=290).
Открыл в нем этот класс из папки src. На экране появился java-код. Сохранил
его как CMain.java.
6. Запустил J2ME Wireless Toolkit (скачать можно на http://java.sun.com/products/j2mewtoolkit/download.html,
точнее ярлычок kToolBar. Создал в нем новый проект (пока значения по умолчанию,
имя скажем test). При этом в каталоге c:WTK21apps создался подкаталог test.
7. Скопировал в подкаталог testsrc декомпиленную java (не забывая пропути,
в данном случае надо создать подкаталог prince и скопировать java в него).
8. Скопировал в подкаталог lib файл prince.jar (исходный) и (при помощи
ТоталКоммандера или WinRar“a) удалил из него ВСЕ файлы кроме классов (не забывая
оставить все классы в поддиректориях).
9. В свойствах проекта test в J2ME WT выбрать закладку MIdLets и там в единственной
строке при помощи кнопки Edit заполнить поле Class именем главного класса:
в данном случае написать туда prince.CMain.
10. Нажать кнопочку Build. Если все сделано правильно, то он не выдаст ошибок
и напишет Build complete. Иначе надо искать что не так. Бывает, в некоторых
игрухах и не компилится вовсе - ничего не поделать. Но если все скомпилилось
- это еще не все.
11. Теперь надо добавить в класс свою строчку. Как искать куда добавить?
Не знаю точно, я добавлял в функцию startApp в конец обычно, перед каким-нибудь
run(). Например, в принце вот так:
public final void startApp()
{
if(!notifyDestroyed)
{ gc.B();
notifyDestroyed = true;
}
CMain _tmp = this;
D.I(false);
gc.setFullScreenMode(true); // Это я и добавил gc.run(); } Почему сюда? Не
знаю, так показалось.
12. Теперь опять Build. Если все ок, то в исходный JAR заходим в ТоталКоммандере
(или WinRar =) ). А на другой половине ТоталКоммандера заходим в папку с скомпиленным
классом (в нашем случае это c:WTK21apps estclassesprince) и копируем поверх
старого CMain.class новый из этой папки.
13. В JAD-файле, который рядом с JAR“ом, надо изменить строку MIDlet-Jar-Size,
так как размер JAR“а изменился - надо поставить новый размер.