Все зависит от того, насколько сложным будет приложение, которое вы хотите разработать.
Разработка базового приложения, которое будет работать на таком количестве различных телефонов, выполнимо, но сложность будет увеличиваться экспоненциально с каждой добавленной вами расширенной функцией, особенно если вы хотите ориентироваться на существующие, старые и будущие устройства.
Также необходимо учитывать, что каждый производитель может поддерживать несколько операционных систем и платформ.
Nokia имеет Series40 (3-е и 5-е издания), Series60 (2-е, 3-е и 5-е издания), Series80.
Samsung имеет как минимум 2 основные версии своей собственной платформы и последние 2 версии Series60
SonyEricsson имеет 3 основные версии своей платформы JP8 (и JP7 тоже), Series60 5-е издание, UIQ 2.x и UIQ 3.x
Series80, Series60, UIQ 2.x и UIQ 3.x основаны на операционной системе Symbian. В разных версиях ОС Symbian использовались разные JVM, и несколько компаний предоставили реализации JSR.
Motorola имеет как минимум 2 основные версии собственной платформы и пару UIQ-устройств
1 - Поскольку все они поддерживают платформу Java, зачем нам дополнительные Java SDK?
Основной проблемой J2ME является фрагментация. По ряду причин (как хороших, так и плохих, как технических, так и коммерческих) обещание Java «Один раз написать, запустить везде» в значительной степени считается невыполненным в мобильной индустрии.
Многие функции необходимо кодировать для конкретной платформы, если вы хотите, чтобы один и тот же код работал на многих платформах одновременно.
Многие платформы J2ME также добавляют нестандартные API, свойства, конфигурации, «ошибки» ...
Наиболее важно, чтобы SDK производителя допускали такие вещи, как отладка на устройстве или развертывание мидлета через USB. Они предоставляют базовые или расширенные инструменты, которые помогают при тестировании на устройстве, потому что именно в этой области обычно не хватает общего WTK.
2 - Чем я могу воспользоваться SDK?
Очень вероятно, да.
Итак, большинство из них будет работать только на настольном компьютере Windows, но сами SDK должны быть бесплатными.
3 - Что определяет, использовать ли мне SDK или нет?
Начните с WTK. Когда вы поймете, что пытаетесь сделать что-то особенное для производителя телефона, получите соответствующий SDK.
Один пример: пример приложения WTK PDAPDemo содержит элементарный браузер файловой системы. Он отображает разные результаты на разных платформах.
Как предположил Павел Алексеев, DeviceAnywhere - отличный инструмент, если у вас есть надлежащий бюджет на тестирование. Nokia также предлагает нечто подобное, но это, очевидно, ограничено телефонами Nokia.