Android на iPhone — технические подробности проекта

Основные этапы реализации just-for-fun проекта известного разработчика

60c93da13ff39ad65bcab97875615807.jpg

На Geektimes уже была опубликована новость о том, что iPhone превратили в Android-смартфон при помощи особого чехла. В этом материале я покажу этапы технической реализации этого проекта.

Автор его, Ник Ли, стал известным благодаря своим проектам по запуску различных операционных систем на гаджетах Apple, включая Windows 95 на Apple Watch. Сейчас он решил попробовать запустить Android на iPhone. В новом проекте автор решил использовать Android Open Source Project (AOSP). Это проект Android с открытым исходным кодом. Разработан он был специалистами, которые считали необходимым создать платформу с открытым кодом для упрощения создания приложений для мобильных устройств. Работать open-source Android может на большинстве известных устройств, включая смартфоны и Android-совместимые одноплатные ПК.
Для своих нужд Ли создал кастомную версию Android Marshmallow, которая без всяких проблем «завелась» на LG Nexus 5 (прототип проекта «Android на iPhone» работал именно с этим смартфоном). В дистрибутив были включены следующие компоненты:

  • libimobiledevice: программный пакет для нативной связи с iOS-устройствами;
  • usbmuxd: клон одноименного демона ПО Apple. Этот компонент позволил использовать USB дата-кабель для скоростного обмена данными с iPhone;
  • screenstreamer: демон, написанный Ли, для связи с сервисом usbmuxd и передачей «картинки» на дисплей iPhone. После того, как все было проверено, Ли запустил систему в первый раз, причем успешно.

ea8b7f5d357221f9170557de6dc01871.jpg

Конечно, два телефона рядом это хорошо, но автор проекта решил сделать систему более компактной. А в этом случае второй телефон в качестве Android-донора уже не подходит, нужно что-то другое. Что? Одноплатный Android-совместимый компьютер (некоторые из них показаны в этой подборке, — прим. ред.).

12eafb5e7c217a0d25af056b366b0b39.jpg

Такой компьютер должен был соответствовать ряду критериев:

  • Производительность: устройство должно уметь захватывать, сжимать и передавать изображение на дисплее в режиме реального времени с высоким fps;
  • Совместимость: устройство должно работать с последней версией Android (6.0.1 Marshmallow на момент реализации проекта);
  • Размер: плата должна быть небольшой и тонкой, равной по размеру кредитной карте;
  • Связь: устройство должно иметь модули Wi-Fi и Bluetooth. Также должен быть порт USB 2.0 для передачи данных на iPhone.

Кастомная версия Android, доработанная Ли, была успешно запущена на одноплатном ПК Lemaker HiKey с 8-ядерным 64-х битным процессором ARM Cortex-A53. HiKey и был выбран для проекта.

В распечатанном на 3D принтере чехле для iPhone разместился этот компьютер, аккумулятор на 650 мАч и встроенной защитой, повышающий преобразователь и резистор. Последний понадобился для того, чтобы не давать iPhone потреблять слишком большой ток, что блокировало обмен данными между HiKey и телефоном.

10cebef1eb99a6d16296a74b6fb103d6.jpg

После добавления резистора все заработало. Компоненты были размещены в распечатанном на 3D принтере чехле.

f50a43d9f66ec3dd95ab3ed11d5bd9fa.jpg

Результат получился довольно габаритным — iPhone с чехлом стали похожи на сотовые телефоны, бывшие в ходу лет 15 назад.

667ccd1fd7d4d6feaa344d92626b3b5d.jpg

ba7b594f265112534f43daf391326a8c.jpg

Финальный этап

После доработки чехла и рабочей схемы для запуска Android на iPhone габариты системы значительно уменьшились. Ли добавил и новые элементы — порты HDMI и USB, которые были выведены на левую сторону отпечатанного на 3D принтере нового чехла. Поместился здесь и и слот для карт памяти типа SD. Перед тем, как надеть чехол на iPhone, автор проекта защитил электронные компоненты чехла тонким пластиковым листом.

69cf201c5d2afd26392f36ebe1ed7a83.jpg

После того, как плата с Android была подключена к iPhone, на дисплее смартфона появился стандартный интерфейс ОС от Google. Для запуска Android использовалось кастомное приложение, разработанное студией Tendigi. Именно оно обеспечило взаимодействия смартфона с одноплатным компьютером, заключенным в чехол.

Процесс разработки всей системы, по словам Ли, занял много дней. Практической пользы здесь немного, работа велась ради собственного удовольствия умельца. Тем не менее, теперь автор проекта может всем говорить, что смог запустить Android на iPhone —, а это многого стоит.

© Geektimes