понеділок, 10 березня 2014 р.

Эмулятор Ubuntu Phone

С моего последнего тестирования Ubuntu для мобильных систем на моём Nexus 7 прошло достаточно времени и произошли некоторые события.

Во-первых, Canonical спохватилась и в статьях своих разработчиков сделала упор на едином имени Ubuntu, чтобы Ubuntu Touch не позиционировалась как какая-то система чисто для мобильных платформ. Теперь правильно писать Ubuntu или Ubuntu Phone, а не Ubuntu Touch. Это факт нашёл своё отражение даже в переименовании утилиты, помогающей прошивать устройство, которая теперь называется ubuntu-device-flash, а не phablet-flash.

Во-вторых, Canonical сфокусировалась на Nexus 4 как эталоне смартфонов и Nexus 7 (2013, кодовое имя flo) как референсное устройство в мире планшетов. Мой Nexus 7 (кодовое имя grouper) оказался не удел и в таблице поддерживаемых официально устройств находится в статусе Deprecated. Эта печалька означает, что с одной стороны, ubuntu-device-flash ещё помогает в работе, но толку мало. Unity 8 работает поверх дисплейного сервера Mir и на Nexus 7 был зафиксирован баг с мерцанием и зависанием. Баг исправили, но на моём Nexus 7 видно невооружённым взглядом, что аппаратной акселерации нет и всё прорисовывается медленно. Приложения тупят, как не тупили раньше. Можно удалить в домашней папке файл .display-mir и получить ускоренную работу Unity 8 через SurfaceFlinger, используемый в Android, но у него есть свои проблемы и как-то не очень хочется пятиться в прошлое.

В данный момент времени я осознал, что мой Asus Nexus 7 уже мало пригоден для тестов Ubuntu Phone и лучше вернуть ему платформу Android и следить за новинками через эмулятор, который поможет посмотреть новые фичи в новых образах Ubuntu.

Эмулятор Ubuntu

Эмулятор Ubuntu для ARM.

Если у вас Ubuntu 14.04, то достаточно установить

sudo apt-get install ubuntu-emulator

Если у вас один из более ранних релизов Убунту, то нужно добавить PPA и установить

sudo add-apt-repository ppa:phablet-team/tools
sudo apt-get update
sudo apt-get install ubuntu-emulator

Создаём свой Убунтофон -

sudo ubuntu-emulator create UbuntuPhone
ubuntu-emulator копирует скачанные образы в ~/.cache/ubuntuimages/, а созданные инстансы в ~/.local/share/ubuntu-emulator/

Запускайте

ubuntu-emulator run UbuntuPhone
и наберитесь терпения, ибо долго!

Удалить созданное

sudo ubuntu-emulator destroy UbuntuPhone

Получить список созданного вами

ubuntu-emulator list

Для экспериментов удобным будет использование снапшотов перед изменениями

ubuntu-emulator snapshot --create=SNAPSHOT1 UbuntuPhone
. Если что-то пошло не так, можно вернуть назад
ubuntu-emulator snapshot --revert=SNAPSHOT1 UbuntuPhone

Эмулятор Ubuntu для x86.

У вас на десктопе, маловероятно, что используется процессор архитектуры ARM и эмулятор работает медленно и долго стартует. Можно задействовать эмулятор с более родной архитектурой - x86.

Установите ubuntu-emulator как написано было выше, чтобы вытянуть нужное по зависимостям.

Скачайте в папку

wget http://people.canonical.com/~rsalveti/aosp/generic_x86/emulator-x86.tar.bz2
и распакуйте
tar -jxvf emulator-x86.tar.bz2

Для скачивания и создания образа нужно в папке emulator-x86 запустить

./build-emulator-sdcard.sh

Ограничения Ubuntu x86 Emulator:

  • Режим Nested отключён, так как unity-system-compositor крашится.
  • Gallery-App не работает корректно, так как пытается использовать libGL.so

Запускать эмулятор нужно из папки

./run-emulator.sh

Скорость в разы отличается от эмулятора, использующего ARM, особенно если в run-emulator.sh увеличить параметр memory с дефолтных 512 Мб. Скорость старта и ощущение отзывчивости, оставляют от эмулятора приятные впечатления и он вполне годен для щупанья новых образов Ubuntu Phone.

Эмулируемые связи:
Будет только одна Ubuntu.
Использование Android в Ubuntu через LXC.
Андроид программы в Ubuntu.

Немає коментарів:

Дописати коментар

HyperComments for Blogger

comments powered by HyperComments