Оболочка MIDP для Android/Подготовка библиотек в Eclipse
Для начала нужно создать в Eclipse проекты для двух библиотек: для AndroidMIDPShell, которая нужна для портирования мидлетов, и для Android Color Picker (aka AmbilWarna), которая нужна для самой AndroidMIDPShell. Начнем с последней.
На момент написания данной статьи исходники Android Color Picker можно найти вот здесь. Но есть нюанс: нам предлагают установить Git, и уже через него загрузить репозиторий, что не очень кошерно, если требуется всего-то навсего один раз скачать исходники. Поэтому вариант № 2 — просто скачать ZIP архив: yuku-android-util.zip (копия репозитория по ссылке выше от 15.01.2013).
Так или иначе нам нужно достать из этого репозитория папку AmbilWarna. В принципе она уже содержит в себе готовый проект Eclipse, но у меня так ни разу и не получилось его именно импортировать (через Android Project from Existing Code). Есть другой путь:
- Создаем в Eclipse новый проект (File -> New -> Project)
- Выбираем Android Application Project
- Настройки проекта указываем такие:
- Application Name и Project Name — любые, например «AmbilWarna»
- Package Name —
yuku.ambilwarna
(обязательно)
- Нажимаем Next и на следующем экране меняем:
- Create custom launcher icon — снять
- Create activity — снять
- Mark this project as library — установить
- Нажимаем Finish
В результате у нас получился пустой проект-библиотека, совместимый с данной конкретной версией Eclipse, Android SDK и пр. Теперь осталось добавить в него код и ресурсы:
- Закрываем Eclipse!
- В созданном проекте удаляем папки
src
иres
- Копируем папки
src
иres
и файлAndroidManifest.xml
из папкиAmbilWarna
(из скачанного репозитория) в папку нашего проекта - Запускаем Eclipse
- Выделяем сам проект и нажимаем F5, чтобы обновился список файлов
- Выбираем в меню "Проект >> Скомпоновать проект"
Если вам повезет, то все заработает сразу и без ошибок. У меня в этот раз заработало, а вот в прошлый раз пришлось править исходники, поскольку что-то там не сошлось с аннотациями, и Eclipse ругался. Особых сложностей даже в этом случае возникнуть не должно, поскольку Eclipse сам предлагал вариант исправления этих ошибок, оставалось только щелкать мышью и кое-где стереть пару аннотаций.
Теперь нужно проделать те же шаги для добавления самой оболочки AndroidMIDPShell. Скачать ее можно по этой ссылке. Настройки проекта в этом случае следующие:- Application Name и Project Name — все так же любые, например «MIDPShell»
- Package Name —
javax.microedition.shell
(обязательно) - Minimum Required SDK нужно выставить не ниже «API 10: Android 2.3.3 (Gingerbread)»
На следующем экране флажки нужно установить так же, как и для первой библиотеки. Дальше добавляем в проект ресурсы и код, и выполняем кое-какую настройку:
- Закрываем Eclipse!
- В созданном проекте удаляем папки
src
иres
- Распаковываем папки
src
иres
из архива AndroidMIDPShell.zip в папку нашего проекта - Запускаем Eclipse
- Выделяем сам проект и нажимаем F5, чтобы обновился список файлов
- Открываем свойства проекта (Project -> Properties)
- В списке слева выбираем Android
- Внизу, где список библиотек, нажимаем кнопку Add
- В появившемся списке выбираем ранее созданный проект AmbilWarna
- Два раза нажимаем OK
- Выбираем в меню "Проект >> Скомпоновать проект"
Теперь все ошибки должны исчезнуть.
И на этом пока все. В следующей части речь пойдет уже о создании проекта для портируемого мидлета.
Рецепт
- Описание оболочки
- Подготовка необходимых библиотек в Eclipse
- Портирование простого мидлета
- Портирование Ancient Empires II RM