После прочтения этого комментария, доказывающего, что можно писать собственные приложения для новой Nokia 3310 3G (TA-1006) , я пытаюсь запустить собственное приложение.
После долгих чтений о том, что такое MIDP, CLDC и т. Д., Я установил Java ME SDK (в новой установке Ubuntu, поскольку Oracle поддерживает только эту ОС или Windows), Eclipse и Sun Wireless toolkit .
Прежде всего, я не смог найти никакой информации о том, какие версии MIDP и CLDC поддерживаются устройством, поэтому я пошел дальше.и попробовал несколько возможных перестановок, вот мои результаты:
CLDC \ MIDP | 1.0 | 2.0 | 2.1 |
1.0 | * | * | X |
1.1 | * | * | ? |
1.8 | X | X | ? |
Те ?
, которые я не пробовал, так как MIDP 2.1 не работает и нечего получить, а те, которые X
даютошибка « Невозможно установить [имя мидлета], потому что он не работает с этим телефоном ».
Таким образом, кажется, что телефон поддерживает профиль MIDP 2.0 и конфигурации CLDC 1.1,Однако, когда я пытаюсь установить свое приложение (сНи одна из конфигураций *
) всегда выглядит так:
- " [имя мидлета] не заслуживает доверия.Продолжить в любом случае?"> Хорошо (это ожидалось)
- " Не удается скомпилировать файл"(вот где я застрял)
То, что я пробовал до сих пор (кроме различных перестановок версий)
- Первоначально я пытался с очень простым подтипом мидлета:
public void startApp()
{
Form form = new Form("Hello");
form.append(new StringItem("Hello", "World!");
Display.getDisplay(this).setCurrent(form);
}
- Далее,Я попытался использовать эти шаблоны, предоставляемые плагином Eclipse:
- Шаблон Splash MIDlet
- Шаблон Hello World Midlet
- При выборе конфигурации времени выполнения (всегда выбирается
DefaultColorPhone
) Я изменил профиль версии с MIDP-2.1
на MIDP-2.0
- Пробовал другие конфиги
MediaControlSkin
и QwertyDevice
Я всегда производил *.jar
и .jad
файлов, нажав кнопку « Упаковка> Создать пакет » в представлении « Дескриптор приложения ».
В какой-то момент он стал экспериментировать с различными настройкамикоторый я не имел большой уверенности, что это будет работать, чтение и полоскание-повторение. При поискеальтернативы, весь путь стал довольно разочаровывающим, так как многие ссылки либо на изворотливых веб-сайтах, 404 или на старый телефон 3310.
TL; DR
Какие этапы конфигурации и сборки необходимы дляполучить простое (без знака) приложение, скомпилированное для новой Nokia 3310?
Вот полное содержание простейшего неудачного примера, который imo должен работать:
$ tree
.
├── Application Descriptor
├── bin
│ └── com
│ └── stackoverflow
│ └── kvn
│ └── test
│ └── SOExample.class
├── build.properties
├── deployed
│ └── DefaultColorPhoneM2.0
│ ├── SOTest.jad
│ └── SOTest.jar
├── res
└── src
└── com
└── stackoverflow
└── kvn
└── test
└── SOExample.java
13 directories, 6 files
$ cat Application\ Descriptor
MIDlet-1: SOExample,,com.stackoverflow.kvn.test.SOExample
MIDlet-Jar-URL: SOTest.jar
MIDlet-Name: SOTest MIDlet Suite
MIDlet-Vendor: MIDlet Suite Vendor
MIDlet-Version: 1.0.0
MicroEdition-Configuration: CLDC-1.1
MicroEdition-Profile: MIDP-2.0
$ cat build.properties
# MTJ Build Properties
DefaultColorPhoneM2.0.includes=src/com/stackoverflow/kvn/test/SOExample.java\
DefaultColorPhoneM2.0.excludes=\
$ cat src/com/stackoverflow/kvn/test/SOExample.java
package com.stackoverflow.kvn.test;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class SOExample extends MIDlet {
private Form form;
protected void destroyApp(boolean unconditional)
throws MIDletStateChangeException { /* nop */ }
protected void pauseApp() { /* nop */ }
protected void startApp() throws MIDletStateChangeException {
form = new Form("Hello");
form.append(new StringItem("Hello", "World!"));
Display.getDisplay(this).setCurrent(form);
}
}
Информация о программном обеспечении устройства: Модель: TA-1006;Программное обеспечение: 15.0.0.17.00;Версия ОС: MOCOR_W17.44.3_Release;Номер прошивки: sc7701_barphone