Как стать автором
Обновить

Полноценный Android на устройствах Windows Mobile

Время на прочтение 7 мин
Количество просмотров 157K
image

Вступление


Доброго времени суток. Не растягивая вступление, сразу перейду к делу. Итак, Android на Windows Mobile.
Еще в недалеком прошлом факт использования устройства, изначально предназначенного для работы с ОС Windows Mobile, под управлением ОС Android вызывал ассоциации с глючностью, нестабильностью и совершенной невозможностью использовать устройство, кроме как для «посмотреть, а что там есть».
Но время идет, и развитие платформы Android бежит вперед семимильными шагами. Всё больше приверженцев Windows Mobile хотят попробовать и «потрогать» Android на своем устройстве. Радует вдвойне, что среди них находятся те, кто готов взяться за нелегкое дело портирования Android на свои любимые коммуникаторы с WM.
Итак, все кого заинтересовала возможность посмотреть на что способны современные сборки Android на коммуникаторах WM, прошу под кат

На данный момент наиболее распространен Android на коммуникаторах компании HTC, что в принципе не вызывает большого удивления, так как всем прекрасно известно, что именно они выпускают большую часть коммуникаторов для Google на Android. В связи с этим, портирование Android на их же, HTC, Windows Mobile коммуникаторы, проходит менее болезненно и более быстрыми темпами, чем на коммуникаторы других производителей.

Поехали


Как пример, статья будет основана на личном опыте использования ОС Android на коммуникаторе HTC Touch Cruise, он же Polaris, он же P3650.
Для начала немного теории о том, что представляет из себя Android на коммуникаторах с WM:
Основные составляющие прошивки:
  1. Initrd.gz – временная файловая система, используемая ядром при начальной загрузке ОС (только при запуске из под WM с карты памяти)
  2. Haret.exe – файл обеспечивающий запуск ОС Android (только при запуске из под WM с карты памяти)
  3. Zimage – собственно собранное ядро Android’а (только при запуске из под WM с карты памяти)
  4. Default.txt – бут скрипт для запуска Android (только при запуске из под WM с карты памяти)
  5. androidinstall.tar – файлы ОС Android
  6. Возможен также файл androidupdate.tar – файл, содержащий в себе какие либо обновления компонентов ОС Android.
Прежде чем переходить непосредственно к запуску и перепрошивке, нужно понять, что запуск Android возможен двумя сильно отличающимися, как по необходимым усилиям, так и по полученным результатам способами:
  1. Запуск ОС Android с карты памяти коммуникатора из под WM
  2. Прошивка ОС Android в память коммуникатора
Несколько слов о том, чем эти способы отличаются:

Запуск ОС Android с карты памяти коммуникатора из под WM


В этом случае, весь набор файлов из списка выше располагается в любой папке в корне карты памяти (например, Карта памяти\android). При этом одним из основных условий удачного запуска Android является наличие правильно сформированного default.txt. Дело в том, что именно в этом текстовом файле в явном виде прописаны (более того, к каждой опции есть комментарий, что она из себя представляет) все настройки необходимые для того, чтобы Haret.exe смог успешно запустить ОС Android.

Привожу пример default.txt файла:
#alloctest 0x2000
set RAMSIZE 0x08000000
set MTYPE 1723
set KERNEL zImage
set initrd initrd.gz
#
# The following kernel parameters are useful
# ppp.nostart — Set ppp.nostart=1 to disable starting the ppp connection on boot
# msm_sdcc.msmsdcc_fmax — The maximum frequency (in Hz) used by the SD controller
# pm.sleep_mode — The mode used when the phone is off
# 0=Power Collapse Suspend, 1=Power Collapse, 2=Apps Sleep,
# 3=Slow Clock and Wait for Interrupt 4=Wait for Interrupt
# Default is 1, use 1 for best power savings
# board-htcpolaris.panel_type — Panel type used to power the panel off and on
# 0=Don't power off the panel (Default)
# 1=Sony 2=Topoly 3=Topoly (probably just the same as 2)
# lcd.density — Defaults to 160, 128 shows more on screen
#
set cmdline «ppp.nostart=0 pm.sleep_mode=1 mddi.width=240 mddi.height=320 no_console_suspend clock-7x00.mddi=0xa51»
boot

Фактически в момент запуска Haret.exe происходит перезагрузка телефона в другую ОС — при этом Android пытается использовать те параметры, которые пользователь указал в default.txt. То есть Android хоть и запускается из-под WM, восстановить WM обратно можно только Софт ресетом. Android сохраняет свою полную функциональность при запуске с карты памяти из под WM. Негативные моменты связаны со скоростью работы девайса в целом и со стабильностью: возможны непроизвольные вылеты и перезагрузки.

В итоге этот способ можно порекомендовать в первую очередь тем, кто давно хотел попробовать Android, но не знал, как к нему подступиться: требуются минимальные усилия, а в результате можно в полной мере ознакомиться с возможностями и красотами ОС.

Прошивка ОС Android в память коммуникатора


Этот способ подразумевает немного больше подготовки. Нам понадобится:
.nbh файл – файл, прошиваемый в коммуникатор, содержит в себе всю информацию по обновлению прошивки. Обычно для Android имеет название polaimg-panel1-320-17-06-10.nbh, где:
  • polaimg – предназначение для определенного типа коммуникатора (Polaris)
  • panel1 – соответствие определенной модели коммуникатора в случае наличия нескольких моделей (в случае с HTC Polaris – pane1 – это Touch Cruise, a например panel3 – Touch Cruise 2 aka Iolite),
  • 320 – разрешение экрана. Дело в том, что существуют версии прошивок с разрешением 480, но это, в случае прошивки, приведет к мелкой картинке на экране
  • 17-06-10 – дата выхода соответствующего файла. Конечно же, чем свежее файл, тем больше ошибок в нем исправлено по отношению к предыдущим версиям и тем лучше и стабильнее с ним будет работать коммуникатор.
Основным местом обитания .nbh файлов является на данный момент ресурс it029000.massey.ac.nz/vogue/files/?C=M;O=D

• Компьютер, USB провод, предварительно разлоченный коммуникатор, утилита для прошивки HTC коммуникаторов, которая называется Custom ROM Update Utility или Custom RUU, причем для каждой модели коммуникатора она своя
• Отформатированная в FAT32 флэшка, созданная на флэшке папка andboot и помещенный в эту папку файл androidinstall.tar и если есть\нужен файл androidupdate.tar. Всё флэшка готова, её теперь можно отложить в сторону и закончить необходимые операции с коммуникатором
• Ввести коммуникатор в boot режим, для Polaris это удержание кнопки фотографирования и включение коммуникатора с зажатой кнопкой фотографирования, для других девайсов есть свои методы введения в boot режим. Если всё прошло успешно, вы увидите трехцветный экран с надписью Serial внизу (на коммуникаторах HTC)
Порядок действий:
• Подключаем коммуникатор к ПК, надпись Serial должна поменяться на USB (на коммуникаторах HTC). Только после этого продолжаем дальнейшие действия
• На ПК создаем любую папку и кладем туда Custom RUU и выбранный нами файл .nbh. Запускаем Custom RUU, следуем инструкциям на экране, попутно расставляя галочки соглашения и подтверждения всему, на последнем экране нажимаем Update и ждем пока процесс пойдет как на экране ПК, так и на экране коммуникатора. Прогресс бар доходит до 100%, Custom RUU говорит, что все готово, телефон перезагружается. Так как данный файл не содержит в себе настоящей прошивки, подобно прошивкам WM, телефон ничего не загружает, а только зависает на первом экране. Всё нормально, процесс установки Android еще впереди
• Вставляем нашу подготовленную карточку памяти в коммуникатор и делаем софт ресет. Если вы выбрали правильный .nbh файл, то через несколько секунд телефон моргнет экраном и на экране появится Пингвин Tux и побежит белый текст по черному экрану. Важно! На данном этапе не пропустить момент, когда на экране появятся слова «Hold down Volume Up or DPad center to launch installer » — нажимаем и держим либо громкость + либо центр джойстика и попадаем в Install menu Android’а
• Здесь передвигаясь по меню джойстиком и делая выбор центральной кнопкой можно выбрать место расположения файлов прошивки Android, а также приступить к установке. Итак, выбираем Sys on NAND, Data on NAND, спускаемся ниже и выбираем пункт Install System,
• после того, как система вернется в это же самое меню, при наличии androidupdate.tar выбираем пункт Install Update, ждем возвращения в меню и выбираем Fix Permissions
после возвращения в меню делаем софт ресет, если сделать просто quit, то телефон будет в нерабочем состоянии
• Ждем удачной загрузки коммуникатора. Первый раз это может занять 5-15 минут, в зависимости от выбранной прошивки
• Наслаждаемся Android :)

Кратко о прошивках и функционале:


На данный момент основные прошивки основываются либо на 1.6 Donut, либо на 2.1 Éclair.
Donut является более стабильной и функциональной версией, так как там уже давно обкатаны все возможности. Éclair прошивки для WM коммуникаторов появились сравнительно недавно и еще немного сыроваты, причем дело касается именно функционала, а не стабильности. Так, например, пока еще не решен вопрос с нерабочей камерой и в зависимости от телефона бывают проблемы с Bluetooth гарнитурами, что никак не сказывается на скорости и стабильности работы коммуникатора в целом.

Положительные моменты:
Красиво, необычно (особенно после WM), очень функционально, полностью рабочий Маркет!, отзывчивость аппарата по сравнению с WM улучшается в разы, причем даже на достаточно слабых устройствах (в большинстве прошивок встроен инструмент Rogue Tools, который позволяет разогнать, например, старенький Polaris до 600MHz!), полная синхронизация с Google и со всеми её сервисами в придачу, возможность настроить все мельчайшие детали коммуникатора под себя, русский язык из коробки (на Éclair 2.1), и т.д

Мне кажется, что всё кто хоть раз пробовал коммуникатор на WM, неважно какой версии, будь то 5.0, 6.0, 6.1 или 6.5 определили свои впечатления от оболочки в целом, так вот Android именно как интерфейс, через который выполняешь большинство ежедневных действий в разы удобнее и функциональнее. Это касается всего – чтения почты, звонков, SMS, просмотра галереи фото (на 2.1 Éclair она 3D!), музыки, установки и удаления программ, мониторинга состояния аппарата… продолжать список можно очень долго и всё это без присущих WM тормозов после каждого нажатия кнопки или касания экрана.

Пару слов хотелось бы сказать о Маркете. Он есть и он огромен. Почти всё, что нужно любому по уровню пользователю доступно бесплатно, больше 90% работает сразу и без ограничений на аппаратную часть. Игры тоже есть, от простеньких карточных игр до почти 3D уровня. Всё, что требуется от пользователя – зайти туда, выбрать, нажать установить, приложение само загрузится и установится на телефон. Всё! Можно выходить в меню и запускать. А если вдруг какое-либо приложение обновилось до новой версии, Android вас об этом известит и предложит загрузить обновление. Как бывший пользователь WM, могу сказать, это сильно отличается от процесса поиска и установки приложений на WM с последующей проверкой новых версий и необходимостью искать новую версию самостоятельно скачивать и устанавливать заново.

Вообще я думаю, что следующие скриншоты покажут больше, чем я расскажу словами:
Home Screen:
image
Переключаемся между рабочими столами:
image
Основное меню:
image
Фото галлерея 3D:
image
Экран блокировки:
image
Выбор виджетов на рабочие столы:
image
Ну и напоследок – пару выводов от меня – Android как ОС состоялся и удался, а то, что у пользователей устройств на WM появилась возможность установить и попробовать платформу самостоятельно – это огромный плюс и уважение разработчикам данной ОС под наши далеко не новые девайсы. Тем более что для того, чтобы попробовать нужно всего то закинуть несколько файлов на карту памяти и в путь…

P.S Привожу список некоторых аппаратов и состояние разработки ОС Android на них:
• HTC Kaiser (TyTN II) — есть рабочая версия прошивки
• HTC Touch — есть рабочая версия прошивки
• HTC Diamond — в разработке
• HTC Touch Diamond 2 — есть рабочая версия прошивки
• HTC HD — есть рабочая версия прошивки
• HTC HD 2 — в разработке
• HTC Touch Pro — есть рабочая версия прошивки
• HTC Touch Pro 2 — есть рабочая версия прошивки
• HTC Touch Cruise — есть рабочая версия прошивки
• HTC Touch Cruise 2 — есть рабочая версия прошивки
• Sony Ericsson XPERIA X1 — есть рабочая версия прошивки

P.P.S forum.xda-developers.com/index.php
Теги:
Хабы:
+96
Комментарии 180
Комментарии Комментарии 180

Публикации

Истории

Работа

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн