Цитата(Vanka @ 20.09.2004 - 09:43)
Привет!
По шагам я делал вот так:
1. В ТоталКоммандере при помощи Ctrl+PgDn зашел в файл prince.jar.
2. В другой стороне ТоталКоммандера создал папку classes.
3. Скопировал в эту папку все файлы с расширением class (включая
классы в подкаталогах этого JAR'а со всеми путями).
4. Из папки classes скопировал класс CMain.class в другую папку
(скажем, src). Вообще, выбор главного класса довольно прост: надо
выбирать тот, на который есть ссылка в prince.jad в строке:
MIDlet-1: prince, , prince.CMain
prince.CMain и есть главный класс.
5. Запустил Декомпилер. Открыл в нем этот класс из папки src. На
экране появился java-код. Сохранил его как CMain.java.
6. Запустил J2ME WT (ярлычок kToolBar). Создал в нем новый проект
(пока значения по умолчанию, имя скажем test). При этом в каталоге
c:\WTK21\apps создался подкаталог test.
7. Скопировал в подкаталог test\src декомпиленную java (не забывая про
пути, в данном случае надо создать подкаталог prince и скопировать
java в него).
8. Скопировал в подкаталог lib файл prince.jar (исходный) и (при
помощи ТоталКоммандера) удалил из него ВСЕ файлы кроме классов (не
забывая оставить все классы в поддиректориях).
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 заходим в
ТоталКоммандере. А на другой половине ТоталКоммандера заходим в папку
с скомпиленным классом (в нашем случае это
c:\WTK21\apps\test\classes\prince\) и копируем поверх старого
CMain.class новый из этой папки.
13. В JAD-файле, который рядом с JAR'ом, надо изменить строку
MIDlet-Jar-Size, так как размер JAR'а изменился - надо поставить новый
размер.
14. Все, можно заливать в телефон MidWay'ем.
Насчет того, как убирать надписи с полоски, было бы интересно поподоробнее узнать.
ЗЫ: страшно рад, что народ понял идею и сильно ее развил, видать, вместе можно победить любую кривизну разработчиков.
Он же все описал: