Эмулятор linux для android: 4 лучших эмулятора Android для Linux
4 лучших эмулятора Android для Linux
Android использует ядро Linux, поэтому запуск эмулированной версии одной ОС в другой вполне логичен. Вот четыре лучших эмулятора Android, которые можно использовать.
Проект Android-x86 предназначен не только для эмуляции. Это альтернатива запуску Windows или Linux на вашем ПК или ноутбуке и порт Android на архитектуру x86 CPU, в отличии от смартфонов, в которых используются более легкие и маломощные ARM-процессоры.
Поскольку Android-x86 был портирован для работы на типичном ПК, это означает, что вы можете запустить Android-x86 как виртуальную машину с помощью VirtualBox или VMware. Вот почему это хороший вариант для эмуляции Android.
Магазин Google Play поставляется с Android-x86, то есть вы можете установить все свои любимые приложения сразу же после настройки виртуальной машины. Однако, есть одно предупреждение: не все приложения для Android будут работать на платформе x86 PC.
Android-x86 находится в активной разработке, поэтому вы можете ожидать регулярных улучшений и возможностей, а также оптимизации скорости и производительности.
Вам не нужно запускать виртуальную машину, чтобы ваши приложения для Android работали на Linux. Благодаря проекту ARChon вы можете запускать приложения для Android в веб-браузере Chrome. ARC в названии означает Android Runtime for Chrome — миниатюрная среда Android для ваших приложений.
ARC сам по себе является созданием Google, ранней тестовой средой для запуска приложений Android на Chrome OS. Этот же принцип применим и к ARChon, который использует элементы ARC с открытым исходным кодом для запуска модифицированной версии в браузере Chrome. Просто установите модифицированный ARChon в Chrome в качестве расширения разработчика, а затем добавьте другие приложения с помощью инструмента расширения APK в Chrome, предоставляемого разработчиком ARChon.
Вы не получите здесь Google Play, и не каждое приложение окажется стабильным. В остальном ARChon является хорошим решением для вас, чтобы запустить некоторые приложения на вашем компьютере с Linux без использования виртуальной машины.
Виртуальные машины предлагают прямой подход к эмуляции Android. Anbox (Android in a Box) пытается сделать что-то совсем другое. Он работает как контейнер Linux, предоставляя общий доступ к ядру и ресурсам, оставаясь при этом изолированным.
Поскольку Anbox разделяет ядро хоста и предоставляет прямой доступ к аппаратным средствам, это намного более быстрый способ заставить приложения Android работать на вашем ПК. Производительность выше, а благодаря контейнерному подходу она безопасна — вы не рискуете запустить незащищенные приложения.
В комплект поставки Google Play Store не входит, поэтому вам придется искать и устанавливать приложения вручную. Потребность в ресурсах вашего ПК будет ниже, чем при использовании виртуальной машины для эмуляции.
Genymotion —это коммерческий продукт, в котором виртуальные машины Android доступны в виде облачных образов или виртуальных машин локальных компьютеров с использованием Virtualbox. Он поставляется со многими уникальными элементами тестирования, такими как поддельные GPS и отчеты о заряде аккумулятора, поэтому он полезен для разработчиков и инженеров-испытателей. В комплект поставки также входит возможность стандартной установки Служб Google Play.
Спасибо, что читаете! Подписывайтесь на мой канал в Telegram и Яндекс.Дзен. Только там последние обновления блога и новости мира информационных технологий.
Также, читайте меня в социальных сетях: Facebook, Twitter, VK, OK.
Респект за пост! Спасибо за работу!
Хотите больше постов? Узнавать новости технологий? Читать обзоры на гаджеты? Для всего этого, а также для продвижения сайта, покупки нового дизайна и оплаты хостинга, мне необходима помощь от вас, преданные и благодарные читатели. Подробнее о донатах читайте на специальной странице.
Есть возможность стать патроном, чтобы ежемесячно поддерживать блог донатом, или воспользоваться Яндекс.Деньгами, WebMoney, QIWI или PayPal:
Заранее спасибо! Все собранные средства будут пущены на развитие сайта. Поддержка проекта является подарком владельцу сайта.
Поделиться ссылкой:
Запуск Linux на Android
Полноценная операционная система Linux на Android смартфоне может быть очень полезной. Во-первых, можно запустить любую необходимую программу linux, или даже сервис. Вы можете запустить веб-сервер, сервер баз данных или все что захотите. Во-вторых, если у вас планшет с большим расширением экрана, то с помощью клавиатуры и мыши его можно превратить в полноценную рабочую станцию. А учитывая, что мы будем запускать Linux без эмулятора, то получим отличную производительность для игр и просмотра видео.
Операционная система Android основана на ядре Linux, поэтому запуск Linux на Android смартфоне возможен, и даже не так сложен как кажется. Полностью заменить Android на Linux не получится из-за особенностей ARM загрузчика и большого разнообразия драйверов устройств, которые поддерживаются только ядрами производителей. Можно разве что установить специально адаптированную Ubuntu Phone, но это уже совсем другая история. Запускать Linux в эмуляторе мы тоже не будем, мы возьмем ARM версию дистрибутива Linux и запустим его в chroot контейнере уже работающего ядра Android.
Содержание статьи:
Нам понадобиться
- Смартфон или планшет на базе ОС Android с ROOT правами;
- Программа автоматического развертывания Linux — Linux Deploy;
- BusyBox;
- SSH клиент — ConnectBot;
- X Сервер для Android — XSDL Server;
Весь перечисленный софт можно скачать и установить с Google Play или форума 4pda. Далее, я буду предполагать что на вашем устройстве уже есть Root права. Начнем запуск linux на android.
Подготовка смартфона
Сначала устанавливаем BusyBox. Зайдите на страницу программы в Google Play и нажмите установить. Когда программа установится, нужно ее запустить и еще раз нажать кнопку install для распаковки всех необходимых компонентов:
Остальные программы устанавливаются стандартным способом из Google Play.
Развертывание Linux на Android
Устанавливать Linux будем с помощью приложения Linux Deploy. Запустите приложение, откройте главное меню программы и выберите пункт Настройки:
Здесь желательно поставить галочки не отключать экран и не отключать wifi, чтобы эти функции работали во пока вы не выключите Linux:
Затем пролистайте вниз и коснитесь пункта обновить окружение. Программе необходимо скачать несколько мегабайт окружения для нормальной работы:
Больше ничего в настройках менять не нужно, Переходим к установке Linux. В главном окне коснитесь значка с логотипом загрузки:
Перед тем как нажать кнопку установить необходимо настроить параметры будущей системы, сначала выберите дистрибутив и версию системы, например, Ubuntu Wily, архитектуру, можно оставить как есть armhf:
Дальше выбираем путь образа диска куда будет установлена система, мы будем устанавливать способ в файл. По умолчанию размер образа — 512 Мб, рекомендую взять с запасом если планируете устанавливать графическую оболочку и дополнительные программы. Для LXDE, XFCE понадобиться еще 500 Мб, а для KDE и Gnome — 1,3 Гигабайт:
Потом меняем имя пользователя и пароль, локаль выбираем ru_RU.UTF-8 для поддержки русского языка:
Выбираем окружение рабочего стола если нужно и дополнительные компоненты. Окружение у нас будет LXDE, дополнительные компоненты оставляем только окружение рабочего стола и ssh сервер. Х сервер нам не нужен, так как будем использовать XSDL Server.
Потом ставим галочку напротив GUI:
Графическая подсистема — Х сервер:
В параметрах GUI Номер дисплея — 0, Адрес Х-сервера — ваш адрес в Wifi сети или 127.0.0.1. Галочку XSDL Server не ставим, так как при каждом запуске Х сервер запускается с новым номером дисплея, таким образом, если с первого раза система не запустится номер дисплея уже будет не соответствовать тому что мы указали в настройках и нужно будет перезагружать устройство:
Дальше можете возвращаться в самый верх и нажимать кнопку установить. Установка linux на android займет около полчаса.
Запуск Linux
Осталось запустить linux на смартфоне. Сначала запускаем XSDL Server, выбираем расширение экрана:
Затем размер шрифта:
Переходим в Linux Deploy и нажимаем кнопку старт:
Возвращаемся в XSDL Server и ждем пока загрузится оболочка:
Вот и все, теперь можно работать в установленной системе, устанавливать приложения, смотреть видео и даже попытаться играть в компьютерные игры. Запуск linux программ на android — не такое уж сложное дело.
Небольшой гайд по управлению XSDL сервер:
- Чтобы открыть виртуальную клавиатуру нажмите кнопку назад.
- Для клика правой кнопкой мыши коснитесь двумя пальцами экрана.
- Отмена последнего действия — кнопка меню.
Доступ SSH доступ к Linux
Для доступа по SSH к установленной системе мы скачали ConnectBot. Откройте приложение и наберите:
имя_пользователя@localhost
Затем введите пароль, выбранный при установке системы, дальше вы окажетесь в оболочке Linux:
Решение проблем
Если во время создания образа возникает ошибка:
Making new disk image (4095 MB) ... fail
dd: opening `/storage/emulated/0/linux.img': No such file or directory
Замените в пути 0 на legacy.
А если такая ошибка:
dd: opening `/storage/sdcard0/linux.img': Read-only file system
Это значит что в вашей системе используются пространства имен для различных пользователей, то есть флешка примонтирована для пользователя, но не для root’a. Поэтому откройте SuperSU и в настройках снимите галочку Создать поименное разделение пространств:
Выводы
Вот и все. вы смогли успешно запустить Linux на смартфоне. Эта система не настолько эффективна как на персональном компьютере, но тоже сильно расширяет возможности Android смартфона. Если у вас остались вопросы, спрашивайте в комментариях!
Эмулятор андроид на линукс
Платформа Андроид является самой распространённой операционной системой в мире. И необходимость установить её на компьютер может возникнуть как у программиста, разрабатывающего программное обеспечение, так и у геймера, мобильное устройство которого не поддерживает современные игры. Пригодится Android и веб-дизайнеру, создающему мобильную версию сайта. И, если на компьютере установлена Unix-подобная операционная система, такому пользователю понадобится эмулятор Андроид на Линукс.
Эмуляторы Android для Linux
Ассортимент эмуляторов Ubuntu Андроид значительно меньше по сравнению с аналогичными программами для Windows. Большинство из них поставляется в виде образов ISO и запускаются с внешнего USB-носителя. Некоторые, такие как Android-x86, представляют собой отдельные операционные системы. Перед тем как выбрать emulator Android на Ubuntu, следует знать, что каждый из них предназначен для выполнения своих задач. И, если некоторые программы больше подходят для геймеров, то для тестирования приложений установленный на Linux Mint эмулятор Андроид должен быть совсем другой.
Android Virtual Device
Одним из самых популярных вариантов среди разработчиков является пакет Android Virtual Device. Он интегрирован в программную среду Андроид Студио и часто используется для тестирования. Хотя некоторые его версии содержат ошибки – их приходится запускать из командной строки, используя параметр -use-system-libs.
Функциональность включает GPS, имитацию вращения и камеры. Установив Google Play, в нём можно использовать любые Андроид-приложения. Хотя для игр, которые в AVD немного зависают, программа не совсем подходит, и геймерам её устанавливать не стоит.
Android x86
Программу Android x86 можно отнести к не совсем типичным эмуляторам. Фактически, она представляет собой дистрибутив и устанавливается с помощью файла RPM. Компьютер загрузится в режиме мобильного устройства – с возможностью установки любого приложения из Google Play.
Эмулятор можно назвать оптимальным вариантом для запуска и тестирования обычных приложений. Однако здесь нет эмуляции камеры и переключения экрана в ландшафтный режим. Нежелательно использовать его и для запуска игр.
Anbox
Большинство эмуляторов для Unix-подобных операционных систем не отличаются такой же простотой использования как аналогичные программы для Виндовс. Однако это не касается пакета Anbox, работу которого официально поддерживает ОС Ubuntu 16.04 LTS (хотя работает он и на других версиях этой платформы). Установка выполняется с помощью менеджера пакетов Snap.
Преимуществами Anbox являются возможность запуска Андроид-приложений в отдельных окнах и предустановленные программы системы Android 7.0 Nougat. А к минусам стоит отнести слишком сложную установку.
Genymotion
Эмулятор Genymotion представляет собой ещё один пакет, который подходит программистам и тестировщикам. С помощью этой программы проще тестировать приложения для ОС Android. А доступна она не только для Linux, но и для Windows, и даже для MacOS.
Для работы Genymotion требуется установка на компьютере программного продукта VirtualBox. Стоит отметить, что программа позволяет эмулировать не просто платформу Андроид, но и конкретные модели смартфонов. Загрузка ядра под конкретный телефон выполняется с помощью нажатия всего лишь одной кнопки.
Shashlik
Программа Shashlik относится к сравнительно новым эмуляторам. Поэтому часть проблем с настройками и запуском приложений пока ещё не решена разработчиками. Запускаются не все apk-файлы, а работа поддерживается далеко не всеми версиями Linux.
С другой стороны, проект считается одним из самых перспективных, и, например, при запуске приложений в среде Kubuntu проблем практически нет. Позволяет запускать каждую программу или игру в отдельном окне и практически не требует настройки.
Установка Android эмулятора в Linux
Для установки макета AVD понадобится сначала запустить Android Studio. Есть возможность и отдельного запуска, но она потребует от пользователя больше времени.
Android-x86 запускают с помощью rpm-файла. После установки добавляется запись в меню Grub, и пользователь может выбрать при следующей загрузке уже не Linux, а этот эмулятор, позволяющий превратить компьютер в устройство на Android.
Программа Genymotion устанавливается с помощью VirtualBox и двоичного установщика. При запуске нужно будет выбрать подходящее виртуальное устройство из достаточно большого списка, после чего установка и настройка пакета будет выполнена автоматически.
При установке deb пакета Shashlik в некоторых версиях Linux возникает ошибка. Иногда проблему решают повторением установки, в других случаях помогает использование команд sudo apt-get install lib32z1 и sudo dpkg -i shashlik_0.9.3.deb (для актуальной в настоящее время версии 0.9.3).
Дистрибутив Anbox представляет собой Snap-пакет или удалённый инсталлятор в репозитории операционной системы. Проще всего запускать его в ОС Ubuntu. Для этого понадобится сначала загрузить скрипт и дать ему права на исполнение (команды $ wget https://raw.githubusercontent.com/anbox/anbox-installer/master/installer.sh -O anbox-installer и $ chmod +x anbox-installer). После этого запускают сам скрипт ($ sudo ./anbox-installer), пишут в терминале I AGREE, ожидают установки программы и перезагружают ПК.
Устанавливаем рабочий стол Linux на Android / Хабр
Привет, Хабр! Представляю вашему вниманию перевод статьи из журнала APC.
В данной статье рассматривается полная установка операционной среды Linux вместе с графическим окружением рабочего стола на Android-устройствах.
Одной из ключевых технологий, которую применяют многие из систем Linux на Android, является pRoot. Это реализация утилиты chroot в пользовательском пространстве, которая пользуется большой популярностью в настольных системах и серверах Linux. Однако для инструмента chroot нужны полномочия пользователя root, которые не доступны по умолчанию на Android. pRoot же даёт это преимущество за счёт установления привязки к директории.
Терминалы Linux
Не во всех эмуляторах терминалов Linux для Android имеется набор утилит BusyBox, в отличие, например, от Termux. Причиной тому является то обстоятельство, что весь смысл подобных систем состоит в обеспечении «полной» установки всех компонентов ОС, в то время как BusyBox предназначена для того, чтобы свести всё множество общих утилит в один двоичный файл. В системах, где не установлена BusyBox, используется начальная загрузка для Linux, содержащая полные версии программ.
»
Задайте логин и пароль для дистрибутива и VNC в UserLAnd.
Однако в этих системах присутствует дополнительная технология, которая не требует наличия Termux. В этой статье будет рассматриваться полнокомплектная инсталляция дистрибутива Linux, а также рабочего стола GUI. Но прежде необходимо выбрать способ установки графической системы.
Linux на Android
Как было упомянуто ранее, программные пакеты, которые мы будем устанавливать, запускаются в пользовательском пространстве.
Это означает, что у них есть только разрешение для текущего пользователя, который в случае ОС Android всегда является обычным пользователем, т.е. не имеет полномочий администратора. Однако для того, чтобы установить рабочий стол Linux, нам понадобится установить графический сервер, например, X или Wayland. Если бы мы делали это в операционной среде Linux, то он запустился бы с полномочиями обычного пользователя, не имея при этом доступа к графическому уровню ОС Android. И потому мы должны смотреть в сторону установки сервера «стандартным» андроидовским способом, чтобы у него был доступ к железу и способность поддерживать графическую среду.
Умные ребята из сообщества разработчиков предложили два решения этой проблемы. Первое заключается в том, чтобы использовать собственные версии Linux (как правило, это сервер X). После того, как те начнут работу в фоновом режиме, у вас появится доступ к данному фоновому процессу через VNC. Если же на вашем устройстве Android уже имеется программа VNC viewer для удаленного взаимодействия с другими компьютерами, просто используйте её, чтобы получить удалённый доступ к локальному узлу. Это простое в исполнении решение, однако некоторые пользователи сообщают о том, испытывают затруднения с работой программы.
Второй вариант – установить сервер, предназначенный специально для устройств на базе Android. Некоторые серверы доступны на Play Store в платной и бесплатной версиях. Перед установкой необходимо проверить, поддерживается ли выбранный вариант или по крайней мере работает ли с тем программным пакетом Linuх для Android, который вы собираетесь установить. Мы отдали предпочтение системе X-Server, и потому использовали программный пакет XServer XSDL (ссылка). В статье будет описываться процесс установки данного сервера, хотя он может немного отличаться, если у вас установлено другое приложение или же используете VNC.
Выбор системы
Как в случае с X-Servers, в Play Store существует несколько приложений по установке дистрибутивов системы Linux. Здесь также, как и с Termux, мы сконцентрируемся на вариантах, которые не требуют полномочий суперпользователя, что в свою очередь предполагает определённую степень риска. Эти приложения предоставляют весь необходимый для большинства пользователей функционал, сохраняя при этом ваши данные в безопасности. Ниже представлены примеры таких приложений в Play Store:
— UserLAnd: весьма популярный выбор пользователей. Приложение включает в себя набор распространенных дистрибутивов: Debian, Ubuntu, Arch и Kali. Любопытно, что несмотря на отсутствие вариантов на базе RPM, UserLAnd включает Alpine Linux для устройств с меньшим объёмом памяти.
— AnLinux: данное приложение помогает в установке одного или нескольких списков дистрибутивов большого объёма и может включать в себя Ubuntu/Debian, Fedora/ CentOS, openSUSE и даже Kali. Там также можно выбрать низкозатратные десктопные варианты: Xfce4, MATE, LXQtand LXDE. Для работы требуется установленный Termux, а операционная система Android должна быть от 5.0 и выше.
— Andronix очень похож на AnLinux. Возможно, имеет лучший дизайн, чем предыдущее приложение, однако поддерживает меньшее число дистрибутивов.
— GNURoot WheezyX: этот проект стартовал как вариант Linux на Android и разрабатывался для программ c открытым исходным кодом. Как подсказывает название, он фокусируется на дистрибутивах Debian, в то время как ‘X‘ на конце означает, что приложение ориентировано на графический рабочий стол. И несмотря на то, что создатели остановили разработку проекта ради UserLAnd, GNURoot WheezyX всё ещё доступен на Play Store, если у кого-то есть в нём нужда.
Авторы данной статьи будут использовать приложение UserLAnd для установки рабочего стола Linux на Android, и тому есть несколько причин. Во-первых, приложение имеет открытый исходный код (хотя AnLinux тоже его имеет). Во-вторых, оно предлагает хороший набор дистрибутивов (хотя в него и не включены Fedora или CentOS), также с помощью него можно установить дистрибутивы с минимальными системными требованиями, которые не займут много места в памяти смартфона. Но главное преимущество UserLAnd в том, что оно имеет инструменты поддержки для установки отдельных приложений вместо целых дистрибутивов. Мы выясним, что конкретно это значит для нас, позже. А сейчас давайте установим UserLAnd на ваше устройство.
Приложение UserLAnd
Скачайте приложение из Google Play или F-Droid (ссылка) на ОС Android. Оно устанавливается как и любое другое приложение – ничего особенного здесь делать не надо. После этого запустите его из панели приложений.
Первое, что вы увидите там – это список дистрибутивов. В конце можно найти пару десктопных вариантов: LXDE and Xfce4. Замыкает его приложение Firefox, пара игр и несколько офисных утилит: GIMP, Inkscape и LibreOffice. Это вкладка называется «Приложения». Предназначена она для установки приложений.
После того, как вы установите что-нибудь, на вкладке «Session» появится соответствующая запись об этом. Здесь можно начать или остановить текущую сессию, а также посмотреть запущенные процессы.
“Filesystems” – последняя вкладка, которая показывает уже завершённые установки. Стоит отметить, что после того, как вы удалите любой элемент из Filesystems, сведения о нём будут стёрты из вкладки Session, что, однако, не доказывает обратного. Это значит, что вы сможете создать новую сессию на базе текущей файловой системы. Понять, как работает эта взаимосвязь, намного проще, если увидеть это в действии, и потому мы начнём с установки приложения в системной среде UserLAnd.
Перед тем, как установить дистрибутив на смартфоне, необходимо предоставить UserLAnd доступ к хранилищу.
Дистрибутивы в UserLAnd
Выберите один из дистрибутивов, расположенных на экране Apps, для установки на устройство. В качестве примера мы будем использовать Ubuntu. При нажатии на значок появляется диалоговое окно, где спрашивается имя пользователя, пароль и пароль VNC. Затем выберите способ, посредством которого вы получите доступ к дистрибутиву. Начнётся загрузка, в ходе которой будет задействован базовый образ выбранного дистрибутива. Распаковка файла будет осуществляться в директории UserLAnd.
По окончании загрузки вернитесь к эмулятору терминала xterm. Можете ввести служебную команду, чтобы узнать, какую версию Linux вы установили:
uname –a
Следующий шаг заключается в том, чтобы инсталлировать рабочий стол, используя служебную команду Ubuntu:
sudo apt install lxde
Последний шаг состоит в том, чтобы убедиться, что ваше новое окружение рабочего стола готово к запуску. Чтобы сделать это, нужно отредактировать файл .xinitrcfile, в котором в настоящее время имеется всего одна строка /usr/ bin/twm. Её необходимо изменить на /usr/bin/startlxde. Теперь выйдите из сессии XSDL (убедитесь, что нажали кнопку STOP в области уведомлений), удерживайте кнопку «Ubuntu listing» на вкладке Sessions, затем нажмите «Stop Sessions» и повторно запустите сессии. Через несколько секунд должна появиться системная среда LXDE. В ней можно делать то же самое, что и на обычном рабочем столе. Она просто может быть немного меньше и работать чуть медленнее: чтобы нажать кнопку на устройстве, вам придётся ждать дольше, чем если бы вы это делали с клавиатурой и мышью. Давайте посмотрим, как конкретно мы можем усовершенствовать системную среду Linux на смартфоне.
Краткое руководство к UserLAnd
При внимательном изучении содержимого рабочего стола можно обнаружить точное воссоздание дексктопной версии. Если вы используете UserLAnd на устройстве с клавиатурой и мышью (подключённых через Bluetooth-соединение или каким-либо иным образом), вам будет легко приспособиться к использованию системной среды Linux в таком формате. За исключением небольшого отставания, которое происходит за счёт того, что курсор X-Windows синхронизируется с курсором устройства на Android, всё работает плавно.
Возможно, первое, что вы захотите сделать, это отрегулировать установленную по умолчанию систему шрифтов, поскольку размер шрифтов рабочего стола слишком велик для экрана телефона. Перейдите в главное меню, затем выберите «Настройки» → «Настройка внешнего вида и виджетов» → «Виджет». Здесь можно поменять размер шрифта по умолчанию на более подходящий вариант для вашего телефона.
Возможно, дальше вы захотите установить свои любимые программы в системную среду Linux. Как сказано выше, служебные команды в этом случае не будут работать, так что смело используйте поистине незаменимый инструмент, который установлен в системной среде UserLAnd, под названием ASAP:
sudo apt install emacs
Дистрибутивы в приложении представлены в виде сессий. Вы можете начать и закрыть их.
После установки дистрибутива можно добавить среду рабочего стола со стандартными командами.
Вероятно, вам также понадобятся альтернативные способы установления соединения для своего дистрибутива. Тот факт, что вы изначально установили XSDL, не означает, что он должно быть неизменным всё время. Вы можете создать ещё одну учётную запись на вкладке Session и выбрать другой сервер. Только убедитесь, что указали его в одной и то же файловой системе. UserLAnd попытается направить вас на нужное приложение, чтобы установить новый тип соединения: либо XSDL, ConnectBot для SSH, или bVNC.
Однако настойчивость, с которой приложение автоматически направляет вас в Play Store при попытке переподключения, может раздражать. Чтобы прекратить это, достаточно сменить сервер посредством установки специального приложения. Для установки SSH выберите старый проверенный VX ConnectBot. Просто войдите в порт 2022 на рабочей станции под вашим именем и паролем. Для того, чтобы подключиться к серверу VNC достаточно установить коммерческое, но во многих отношениях продвинутое приложение Jump Desktop, и набрать адрес 127.0.0.1:5951.
Надеемся, вы помните пароль VNC, который задали, когда создавали файловую систему.
Получить доступ к текущей сессии UserLAnd также можно используя похожие инструменты на другом компьютере в вашей сети. Достаточно подключить SSH к работающему сеансу (с типом соединения SSH, естественно) посредством терминала Linux, например, Konsole, или подключиться к сеансу VNC с помощью KRDC. Просто замените локальные адреса на экране компьютера IP-адресами вашего Андроида.
В сочетании с парой переносных приложений эта установка даст вам удобную портативную систему Linux, к которой можно подключиться с помощью любого компьютера, доступного вам в данный момент.
Устанавливаем Linux-дистрибутив на телефон и планшет под управлением Android — «Хакер»
Содержание статьи
Прошло совсем немного времени с момента выпуска первых смартфонов под управлением ОС Android до того, как энтузиасты научились запускать на них полноценные дистрибутивы Linux. Сегодня методики установки Linux-дистрибутивов на Android-устройства широко известны, а в репозитории Google Play есть даже автоматизированные системы установки и запуска Linux. В этой статье я попытаюсь аккумулировать весь накопленный опыт работы с Linux на смартфонах, расскажу, зачем это нужно, и покажу, как избежать возможных подводных камней при переносе Linux на смартфон или планшет.
Зачем?
На первый взгляд может показаться странным, что кто-то пытается запустить на мобильном устройстве операционную систему, в принципе не предназначенную для работы с экраном небольших размеров и без достаточно точного манипулятора (мышь) и клавиатуры. Однако не стоит делать поспешных выводов. Дистрибутив Linux может дать владельцу смартфона достаточно много преимуществ, среди которых набор старых проверенных инструментов, таких как утилиты командной строки, продвинутые редакторы, FTP- и SSH-серверы, сетевые инструменты и средства разработки приложений. Запустив Linux без графической оболочки на смартфоне с хардварной клавиатурой (Motorola Droid, к примеру), можно достаточно комфортно всем этим пользоваться прямо на ходу без необходимости покидать сам Android. Все инструменты доступны в любой момент, а смартфон продолжает оставаться смартфоном, позволяя принимать звонки и слушать интернет-радио.
Второй аргумент за установку Linux на смартфоне — это возможность использовать его в качестве переносной рабочей станции, которую можно подключить к любому ПК и тут же получить доступ к терминалу с помощью SSH/Telnet-клиента либо клиента VNC/RDesktop. Это по определению лучше, чем флешки с установленным Linux, так как нет необходимости, во-первых, перезагружать машину, а во-вторых, гонять туда-сюда данные; результаты твоей работы будут доступны сразу после того, как отключишь смартфон от компа.
Наконец, наибольший выигрыш Linux дает на планшетах, экран которых позволяет более-менее сносно работать в графической среде, а возможность подключить мышь и клавиатуру через OTG-кабель так и вообще дает шанс превратить планшет в полноценную рабочую станцию. При этом никакой особой разницы между установкой дистрибутива Linux на планшет и смартфон нет.
Как?
Перенести Linux на Android действительно просто, и главную роль здесь играет ядро Linux. Любой Linux-дистрибутив представляет собой набор приложений и библиотек, работающих поверх ядра Linux, а так как Android сам основан на почти неизмененном ядре Linux, эти приложения и библиотеки можно без каких-либо проблем запустить внутри среды Android. Достаточно лишь подыскать дистрибутив, для которого существует порт на платформу ARM (не забываем, что 99% всех Android-девайсов работают на ARM), установить его с помощью ARM-эмулятора на виртуальный жесткий диск (то есть в файл), скинуть этот файл на SD-карту устройства, открыть терминал, смонтировать образ в качестве loopback-устройства и сделать chroot внутрь. Все! Это так же просто, как запуск FTP-сервера в chroot-окружении — простой и проверенный десятилетиями метод.
Единственный камень преткновения, когда ты решаешь запустить дистрибутив Linux внутри Android, — графическая среда. В то время как с доступом к консоли никаких трудностей не возникает благодаря наличию полноценного эмулятора терминала, с графическими приложениями начинаются проблемы — нативного X-сервера для Android нет, а запустить обычный X-сервер внутри самого дистрибутива невозможно из-за коренных отличий в архитектуре графической подсистемы зеленого робота. Несмотря на то что в основе она использует стандартный Linux Framebuffer, поверх которого можно запустить X-сервер, эксклюзивное право его использования изначально принадлежит более высокоуровневым библиотекам Android, поэтому остается либо загружать Linux-дистрибутив вместо Android (что совершенно непрактично), либо придумывать обходные пути.
Проверка работы необходимых модулей
Имей в виду, что поддержка loopback-устройств и файловых систем ext2/ext3, необходимых для подключения образа, имеется далеко не во всех ядрах Linux, установленных на смартфонах под управлением Android. Проверить наличие поддержки можно с помощью команды lsmod | grep -e loop -e ext2.
Энтузиасты вышли из этой ситуации, используя простой метод «удаленного» подключения к рабочему столу с помощью любого доступного для Android VNC-клиента. Внутри chroot-окружения запускается X-сервер Xvnc, и все приложения работают под его управлением. Пользователю остается лишь установить VNC-клиент, вбить локальный адрес — и вуаля, на экране появляется полноценный рабочий стол.
Единственное узкое место при использовании удаленного рабочего стола — это производительность. Даже работая локально, VNC не может обеспечить должный ее уровень, которого бы хватило для плавной прокрутки или перемещения окон без лагов. Решить эту проблему пока не удалось, проекты разработки нативного X-сервера, который бы использовал графическую подсистему Android, еще очень сыры и не могут быть использованы для запуска полноценных графических сред. Впрочем, никто не запрещает их использовать; к примеру, X Server от Darkside Technologies Pty Ltd (goo.gl/ap3uD) вполне сгодится для запуска простого софта.
Изначально Linux для Android существовал только в виде образа с уже установленной системой, а также пояснительной инструкции, как этот образ подключить и использовать. Затем появились скрипты, которые автоматизировали процесс подключения образа и запуска Linux, но и они требовали некоторой работы головой. Наконец, в последнее время появились инсталляторы, доступные в Google Play (например, goo.gl/RSA1j), в некоторой степени автоматизирующие процесс запуска дистрибутива, хотя, по сути, это все то же руководство по установке, но интерактивное, с прямыми ссылками на скачивание образов и скриптов.
Альтернативные варианты
Выше я уже упомянул о том, что дистрибутив Linux вполне может быть загружен вместо Android, благодаря чему удастся задействовать Framebuffer для прямого доступа к видеоадаптеру и существенно ускорить работу графического интерфейса. Однако делать это на смартфоне практически бессмысленно — Linux непригоден в качестве основной системы на небольших экранах, к тому же принимать звонки и пользоваться интернетом будет невозможно. А вот на планшете Linux будет выглядеть вполне достойно.
Обычно на устройство, изначально работающее под управлением Android, так называемая нативная версия Linux-дистрибутива устанавливается следующим образом. На внутреннем NAND-накопителе планшета создается дополнительный раздел, на который копируется Linux-дистрибутив. Затем загрузчик U-Boot (он применяется в большинстве планшетов) настраивается таким образом, чтобы использовать этот раздел в качестве загрузочного. В результате планшет будет автоматически загружать Linux-систему после включения питания.
Чтобы оставить возможность загрузки Android, загрузчик U-Boot перенастраивают таким образом, чтобы раздел с Linux-системой был не основным, а выполнял функцию «раздела для восстановления» (Recovery Mode), доступного с помощью включения устройства с зажатой клавишей громкости (тот самый, который используется для перепрошивки устройства и выполнения различных восстановительных операций). Таким образом удается получить устройство с двойной загрузкой: Android по умолчанию и дистрибутив Linux при загрузке в режиме восстановления. Сам Recovery Mode при этом остается доступным только с помощью специальных инструментов.
В случае если NAND-памяти оказывается недостаточно для размещения полноценной Linux-системы, ее части (обычно раздел /usr) выносят в образ или раздел на SD-карте. Кстати, ext2-раздел на карте памяти также можно использовать для установки Linux, запускаемого в chroot-окружении.
Установить нативный Linux-дистрибутив сложнее, чем работающий в chroot-окружении, но это стоит того, если у тебя есть планшет и OTG-кабель, с помощью которого можно подключить клавиатуру и мышь.
Практическое занятие
Как я уже говорил, для запуска под управлением Android пригодны только дистрибутивы, портированные на архитектуру ARM. Прежде всего это Ubuntu и Debian, причем первый по понятным причинам пользуется гораздо большим интересом среди роботоводов. Также можно установить Gentoo и несколько специализированных дистрибутивов, например Backtrack. Рассмотрим самый типичный случай, то есть установку Ubuntu по стандартной схеме, без использования каких-либо автоматизированных инсталляторов и прочего.
BackTrack, запущенный на планшете
Для начала нам нужен образ жесткого диска с установленным дистрибутивом. Его можно создать самому, воспользовавшись эмулятором QEMU, однако в связи с тем, что процедура установки абсолютно стандартна и типична, описывать ее я не буду, а просто направлю тебя по адресу goo.gl/9nvBi. Здесь лежит архив с образом, на который предустановлен Ubuntu 12.04 с графическим окружением LXDE (было бы неразумно запускать Unity/Gnome на телефоне/планшете). Архив следует распаковать и положить файл ubuntu.img на карту памяти.
Далее надо смонтировать образ и сделать chroot в окружение дистрибутива. Для этого нужны права root, прошивка с поддержкой блочных loopback-устройств и установленный busybox (ищем в Маркете по запросу «busybox installer», в CyanogenMod есть по умолчанию). Последовательность действий:
- Открываем эмулятор терминала в Android (если нет, можно установить из Маркета Terminal Emulator). Либо подключаем смартфон/планшет к компу и получаем доступ к терминалу с помощью adb:
$ cd путь-до-Android-SDK/platform-tools $ sudo ./adb shell
Не забываем, что режим отладки в этом случае должен быть включен: «Настройки -> Для разработчиков -> Отладка Android».
- Получаем права root:
$ su
- Создаем блочное loopback-устройство, подключаем к нему образ диска и монтируем его:
# mknod /dev/block/loop255 b 7 255 # mount -o remount,rw / # mkdir /mnt/ubuntu # mount -o loop,noatime -t ext2 \ /sdcard/ubuntu.img /mnt/ubuntu
Содержимое образа должно появиться в каталоге /sdcard/ubuntu. Проверь, чтобы это было так.
- Подключаем все необходимые для работы дистрибутива виртуальные ФС:
# mount -t proc proc /mnt/ubuntu/proc # mount -t sysfs sysfs /mnt/ubuntu/sys # mount -o bind /dev /mnt/ubuntu/dev
- Настраиваем так, чтобы из chroot-окружения можно было получить полноценный доступ в Сеть:
# sysctl -w net.ipv4.ip_forward=1 # echo "nameserver 8.8.8.8" > /mnt/ubuntu/etc/resolv.conf # echo "nameserver 8.8.4.4" >> /mnt/ubuntu/etc/resolv.conf # echo "127.0.0.1 localhost" > /mnt/ubuntu/etc/hosts
- Переходим в chroot-окружение:
# chroot /mnt/ubuntu
Собственно, на этом установка заканчивается. Теперь можно запускать консольный софт, производить обновление системы, стартовать сетевые сервисы и делать почти все, что можно сделать с обычной десктопной Linux-системой, не забывая, конечно, что некоторый софт, напрямую взаимодействующий с железом и различными специализированными псевдодевайсами, работать не будет. Также не забываем, что виртуальные ФС после завершения работы следует размонтировать.
Теперь нам необходимо установить и запустить X-сервер Xvnc, экспортирующий дисплей и устройства ввода с использованием протокола VNC. TightVNCserver уже есть в представленном образе и даже настроен, но, чтобы ты лучше понял процесс и смог решить возникшие проблемы, я подробно опишу процесс его установки и запуска.
- Обновляемся и устанавливаем TightVNCserver:
# apt-get update # apt-get install tightvncserver
- Создаем файл /root/.vnc/xstartup и пишем в него следующее:
#!/bin/sh xrdb $HOME/.Xresources xsetroot -solid grey export XKL_XMODMAP_DISABLE=1 icewm & lxsession
Третья команда здесь нужна, чтобы пофиксить проблемы, которые могут возникнуть из-за физического отсутствия на устройстве клавиатуры.
- Запускаем Xvnc с помощью враппера vncserver с правами root:
# export USER=root # vncserver -geometry 1024x800
В результате выполнения последней команды на экран будет выведен запрос на пароль для доступа к VNC-серверу, лучше указать что-нибудь простое вроде «123». Разрешение можно установить фактически любое, однако лучше, если оно будет совпадать с физическим разрешением экрана устройства.
- Устанавливаем на смартфон приложение AndroidVNC, запускаем его, указываем IP-адрес и порт 5901, подключаемся. На экране должен появиться рабочий стол LXDE.
Чтобы не заморачиваться с ручным вводом всех команд, можно использовать скрипт ubuntu.sh, расположенный здесь: goo.gl/xSpK4. Просто положи его и образ ubuntu.img в каталог ubuntu на SD-карте и запусти скрипт командой sh ubuntu.sh, а через 5–10 секунд подключись к рабочему столу с помощью AndroidVNC. Имей в виду, что скрипт монтирует образ к каталогу /data/local/mnt.
AndroidVNC — подключаемся к рабочему столу
Установка Gentoo на ext2-раздел
Итак, мы установили Ubuntu с помощью образа с файловой системой и шаманств с loopback-устройством и chroot-окружением. Сделать это оказалось несложно, а с применением скриптов так и вообще очень легко, но что, если пойти дальше и установить более хардкорный дистрибутив, и не с использованием образов, а на выделенный ext2-раздел на карте памяти? Так мы сможем решить проблему некоторых прошивок и ядер без поддержки loopback-устройств и к тому же сможем насладиться нормальным дистрибутивом, установленным по всем правилам.
Проект «Ubuntu for Android» в действии
Возьмем в качестве подопытной системы Gentoo. Чтобы установить его на ext2-раздел, нам понадобится карта памяти объемом не меньше 2 Гб и рутованный смартфон с установленным busybox. Последовательность действий следующая.
- Делаем бэкап данных с карты памяти и создаем на ней дополнительный раздел, объемом не меньше двух гигабайт. Сделать это можно с помощью любой программы для разбивки дисков, однако имей в виду, что если ты хочешь продолжать использовать SD-карту по прямому назначению, то создавать FAT32-раздел следует в начале карты, так, чтобы он стал первым, а дополнительный раздел для установки дистрибутива должен быть вторым.
- Форматируем разделы SD-карты:
$ sudo mkfs.vfat /dev/sdc1 $ sudo mkfs.ext2 /dev/sdc2
- Берем телефон, заходим в «Настройки -> О телефоне» и смотрим, какой установлен процессор. Далее переходим на страницу goo.gl/PRfux и выкачиваем stage3 для нужной архитектуры, например stage3 для ARM v7 лежит в каталоге current-stage3-armv7a.
- Монтируем ext2-раздел карты памяти на компе и распаковываем в него содержимое полученного архива:
$ sudo mount /dev/sdc2 /mnt $ sudo tar -xxpf stage3-*.bz2 -C /mnt
Сразу редактируем конфиги и все, что нужно, по вкусу, включая правку /etc/resolv.conf по образцу из предыдущего раздела.
- Запускаем эмулятор терминала (или выполняем «adb shell»), монтируем все необходимое и переходим в chroot (почти так же, как в случае с Ubuntu):
# mount -o remount,rw / # mkdir /mnt/gentoo # mount /dev/block/mmcblk0p2 /mnt/gentoo # mount -t proc proc /mnt/ubuntu/proc # mount -t sysfs sysfs /mnt/ubuntu/sys # mount -o bind /dev /mnt/ubuntu/dev # sysctl -w net.ipv4.ip_forward=1 # chroot /mnt/gentoo
Доступ к рабочему столу производится таким же способом, как в Ubuntu, за исключением того, что теперь прямо на телефоне придется собрать кучу софта :). Впрочем, можно настроить среду для кросс-компиляции на компе, но это уже тема для отдельной статьи.
Ubuntu на Galaxy Tab 10.1
Нативная установка
Запустив Ubuntu с использованием VNC-сервера, ты заметишь неторопливость его работы, которая связана с издержками протокола VNC на передачу картинки «по сети». Чтобы избежать этой проблемы, можно установить Ubuntu в качестве основной системы рядом с Android, так, чтобы она смогла использовать видеоадаптер напрямую. К сожалению, универсального способа сделать это не существует. Каждое устройство по-своему уникально, включая различные таблицы разделов NAND-памяти, на которую производится установка, различные устройства и драйверы для их работы.
Нативный X-сервер для Android
К счастью, процесс установки нативной версии дистрибутива хорошо описан для многих устройств в русскоязычных форумах, поэтому найти инструкцию будет несложно. Стоит, тем не менее, сразу обратить внимание на несколько особенностей такого типа установки:
- Отдельный или основной NAND-раздел. Linux-дистрибутив может быть установлен как в заблаговременно созданный раздел в NAND-памяти, так и в основной загрузочный раздел. В первом случае разработчик прошивки обычно оставляет возможность загрузки Android с помощью специального скрипта либо через загрузку Linux-дистрибутива в режиме восстановления, во втором он будет установлен вместо Android и для возвращения возможности загрузки робота придется заново перепрошивать устройство.
- Возможность двойной загрузки. Если Linux-дистрибутив будет установлен на отдельный раздел, разработчик может оставить возможность загрузки Android. Однако стоит сразу обратить внимание, как эта загрузка происходит: с помощью режима восстановления либо скрипта, запускаемого с обычного компа. Все-таки второй способ будет неудобен в дороге.
- Поддержка оборудования. Оригинальное Linux-ядро Android-прошивки уже включает в себя все необходимые драйверы, которые могут понадобиться для работы полноценной Linux-системы, однако далеко не во всех Linux-прошивках все заведется само собой. Часто возникают проблемы с Wi-Fi-адаптером и сенсорным экраном, который неадекватно реагирует на прикосновения. Поэтому перед установкой прошивки стоит внимательно прочитать о возможных осложнениях.
В любом случае будь готов к тому, что во время установки Linux-дистрибутива все твои данные будут уничтожены. Без этого никак.
Запуск Ubuntu с помощью стартового скрипта
Что дальше
Linux-дистрибутив, установленный рядом с оригинальной Android-системой, может стать очень удобным рабочим инструментом, однако на данный момент «Linux внутри Android» считается скорее игрушкой и способом покрасоваться перед друзьями, нежели серьезным решением. Уверен, что в скором времени, когда для Android появится полноценная реализация графического сервера Wayland, ситуация начнет меняться и мы увидим дистрибутивы с адаптированным для небольших экранов интерфейсом, а также полноценные Linux-приложения, распространяемые в форме обычных APK-пакетов. Также не стоит забывать о проекте «Ubuntu for Android» — в его рамках идет работа над официальным портом Ubuntu для Android, который позволит использовать смартфон в качестве переносного системника, подключаемого к любому монитору.
WWW
goo.gl/UGDe3 — описание процесса подготовки образа Ubuntu собственными силами (на английском).
Как установить Linux на Android-смартфон или планшет
Запуск Linux на Android возможен! И для этого не нужно устройство с root-правами: всё необходимое ПО доступно в официальном магазине Google Play. Всего за 10–15 минут вы сможете получить операционную систему, отличающуюся от Android расширенной функциональностью.
Примечание: если вы последуете нашей инструкции, ОС Linux будет запущена в виртуальной среде. Android будет по-прежнему работать в фоновом режиме. Назвать такую систему полноценной было бы неверно. Тем не менее со списком стандартных задач она справляется хорошо.
Перед установкой закройте все ненужные приложения и очистите оперативную память Android-девайса.
1. Из магазина Google Play установите GNURoot Debian и XServer XSDL.
Разработчик:
pelya
Цена:
Бесплатно
2. Перед началом установки Linux убедитесь, что ваш девайс подключён к стабильной сети Wi-Fi. Запустите GNURoot. Начнётся загрузка необходимых пакетов среды.
Установка занимает от 30 секунд до нескольких минут в зависимости от скорости вашего интернет-подключения. Не обращайте внимания на бегущие строки до появления следующей надписи:
root@localhost:/#
Знакомых с понятием «root-права» эта строка пусть не пугает: приложение не причинит никакого вреда устройству, поскольку работает в «песочнице».
3. Введите следующую команду:
apt-get update
Дождитесь окончания загрузки пакетов. Об этом скажет строчка Reading package lists…Done.
4. Теперь введите ещё одну строчку:
apt-get upgrade
На вопрос «Do you want to continue?» введите английскую букву Y и нажмите Enter. Начнётся установка пакетов.
В этот раз процедура установки займёт немного больше времени. Терпеливо ожидайте окончания инсталляции до появления заветной строки:
root@localhost:/#
Среда Debian Linux установлена, и теперь можно перейти к разворачиванию графической оболочки.
5. Установка всех пакетов дистрибутива Linux выполняется следующей командой:
apt-get install lxde
Есть и вариант установки ядра системы с использованием строки:
apt-get install lxde-core
Подтвердите установку, повторно введя Y и нажав на клавишу Enter. Начнётся процедура загрузки пакетов.
Во время установки убедитесь, что успешно загрузились все файлы, а при распаковке на вашем девайсе не кончилось свободное пространство. В противном случае запуск системы окончится ошибкой.
6. Для завершения установки операционной системы необходимо загрузить три дополнительные утилиты:
- XTerm — для доступа к терминалу из графической оболочки Linux;
- Synaptic Package Manager — для управления пакетами apt и загрузки приложений;
- Pulseaudio — для установки драйверов звука.
Все три утилиты устанавливаются с помощью одной команды терминала GNURoot:
apt-get install xterm synaptic pulseaudio
На устройство будет загружено около 260 МБ данных.
7. Теперь сверните приложение GNURoot и откройте ранее установленное XServer XSDL. Согласитесь с загрузкой дополнительных шрифтов. После окончания установки несколько раз тапните по экрану (приложение предложит выбрать разрешение и размер шрифтов — тут всё зависит от ваших предпочтений), пока не увидите заставку с синим фоном и белым текстом.
Повторно запустите GNURoot и поочерёдно введите следующие две команды:
export DISPLAY=:0 PULSE_SERVER=tcp:127.0.0.1:4712
startlxde &
Последовательность дальнейшего перезапуска системы (когда вы захотите открыть Linux повторно) выглядит так: запускаете XServer XSDL и ждёте появления синего экрана, открываете GNURoot и вводите две указанные выше команды, возвращаетесь к XServer XSDL.
Если терминал ругается на недопустимую команду, вернитесь к пункту 5 данной инструкции и попробуйте установку «голого» ядра. Проверьте состояние памяти Android-устройства.
8. Теперь откройте XServer XSDL, подождите несколько секунд — и перед вами готовая к работе Linux.
Для установки приложений в нижнем левом углу откройте меню Start и выберите Run. Введите Synaptic и нажмите Enter.
В открывшемся окне воспользуйтесь поиском и установите нужные приложения. Это может быть браузер Firefox, редактор изображений GIMP, офисный пакет Libre и прочие совместимые с Linux программы.
Разумеется, такой вариант установки Linux нельзя назвать полноценным запуском операционной системы на Android. Виртуальная Linux имеет несколько ограничений, но при использовании беспроводных мыши и клавиатуры (возможно и подключение с помощью OTG-переходника и USB-хаба) вы сможете превратить смартфон или планшет в портативный компьютер с функциональностью взрослой ОС.
Устанавливаем Linux-программы на смартфон под управлением Android / Блог компании Журнал Хакер / Хабр
Многие владельцы Android-фонов испытывают трудности с запуском настоящего Linux-софта на своих девайсах. По всем законам он вроде должен здесь работать, да вот только для его установки почему-то нужны права root, сам он распространяется в каких-то самодельных инсталляторах, а выбор программ сильно ограничен. Эта статья предложит ответ на вопрос, почему так получилось, и подскажет решение — удобный способ установки и запуска почти любого Linux-софта в Android.
Как известно, андроид основан на ядре Linux и включает в себя набор стандартных библиотек и утилит командной строки, свойственных обычному Linux-дистрибутиву. Однако запуск классического Linux-софта здесь сильно затруднен из-за множества причин, в числе которых несовместимость ABI, отсутствие менеджера пакетов, собственная система безопасности и отсутствие многих компонентов стандартной Linux-системы.
Так, несмотря на наличие в Android стандартной библиотеки libc и других, их реализация в большинстве случаев несовместима с библиотеками от проекта GNU и сильно урезана по функционалу. По этой причине Linux-софт нужно как минимум пересобирать специально под Android и ARM-процессор, а во многих случаях еще и патчить, добавляя функционал, отсутствующий в библиотеках.
BotBrew был протестирован на следующих устройствах: Barnes & Noble NOOK Color, LG P970 Optimus Black, Huawei Ascend M860, HTC Desire, HTC Evo 4G, HTC Evo 3D, HTC Inspire 4G, HTC Droid Eris, HTC Hero, Samsung Galaxy Nexus, Samsung Galaxy S2 (GT-I9100), Samsung Galaxy Y (GT-S5360), Motorola Atrix 4G, Motorola Droid/Milestone, Sony Ericsson Xperia X8, Asus EeePad Transformer TF101.
Система безопасности Android, обрезающая приложения в привилегиях по полной программе и не позволяющая им выходить за рамки собственного каталога, также серьезно препятствует работе стандартного Linux-софта. Поэтому часто требуется получать права root, которые эти ограничения снимают. Отсутствие менеджера пакетов, который бы позволял устанавливать обычный Linux-софт, а не только Java-приложения, вынуждает разработчиков писать приложения, нужные только для того, чтобы устанавливать другие приложения. Так появляются все эти кастомные инсталляторы.
Ну и довершает картину то, что в Android просто нет многих стандартных компонентов Linux, включая, например, даже такие неотъемлемые, как графический стек X Window или библиотека GTK+. Кое-какие попытки все это сюда принести, конечно, предпринимаются, но дальше полурабочих альфа-версий дело не двигается.
Тем не менее возможность перенести в Android функционал полноценной Linux-системы слишком уж заманчивая идея, чтобы энтузиасты не попробовали решить возникающие в процессе проблемы и дать нам полноценное универсальное решение. Самый очевидный и простой путь — это запустить «виртуализированную» версию полноценного Linux-дистрибутива, о чем мы уже подробно писали. Способ этот интересный, но страдает от проблемы разделения системы на две области, каждая из которых работает независимо от другой.
Гораздо более интересным выглядит проект BotBrew — в его рамках разрабатывается вполне обычный для Linux-систем менеджер пакетов и репозиторий, с помощью которого можно устанавливать Linux-софт в отдельно взятый каталог внутри Android. Также в свое время было придумано множество различных скриптов, которые позволяют легко и без лишних проблем собирать пригодный для работы внутри Android Linux-софт на большом брате. Этим двум проектам и будет посвящена оставшаяся часть статьи.
Проект BotBrew призван решить многие проблемы с установкой Linux-софта, которые только могут возникнуть у пользователя, и подготовить систему Android к принятию инородных для нее приложений. По сути, система состоит из четырех компонентов:
- репозиторий с прекомпилированными для Android приложениями, используя который можно установить многие Linux-приложения с помощью одной команды;
- менеджер пакетов, в качестве которого используется легковесный Opkg или dpkg вместе с apt-get в экспериментальной версии BotBrew Bazil;
- менеджер процессов runit, необходимый для того, чтобы правильно запускать и поддерживать работу демонов, если таковые будут установлены;
- собственная система сборки, которая содержит в себе все инструменты, необходимые для кросс-компиляции приложений с помощью любого настольного Linux-дистрибутива.
Для работы это чудо программистской мысли требует всего ничего: права root и немного свободного пространства во внутренней памяти смартфона или на карте памяти. Причем первый вариант предпочтительнее, так как в случае с SD файлы будут свалены на виртуальный диск, работа с которым поддерживается далеко не всеми ядрами.
Начальная инициализация
Список установленных приложений
На данный момент классическая версия BotBrew, использующая собственный репозиторий, позволяет устанавливать такой софт, как dcron, GCC, Git, SSH-сервер dropbear, консольный браузер Lynx, сканер безопасности Nmap, инструмент бэкапа rsync, редактор Vim, веб-сервер lighttpd, скриптовые языки Python и Ruby, а также несколько десятков других пакетов. Устанавливается это все, кстати говоря, в выделенный каталог во внутренней памяти смартфона/планшета и никак не захламляет основную систему. Другими словами, избавиться от BotBrew и всего, что ты установил, можно будет, просто удалив один каталог.
Итак, как же использовать BotBrew для установки Linux-софта? Для начала нам понадобится пакет с самой программой. Он есть в Google Play (отмечу, что нужен BotBrew root, а не экспериментальный Bazil) и весит меньше мегабайта. После установки запускаем и нажимаем кнопку «Proceed» внизу экрана, чтобы софтина выкачала все необходимые для ее работы компоненты, такие как консольный менеджер пакетов, и другие утилиты (в терминах Debian Linux — bootstrap). Весят они всего несколько мегабайт, поэтому ждать придется недолго. По окончании установки BotBrew выведет на экран окно с официальной интернет-страницей проекта, которое можно смело закрывать.
Теперь на экране ты должен увидеть список пакетов, доступных к установке. Их довольно много, но графических приложений по описанным выше причинам ты среди них не найдешь. Зато есть разномастные серверы, компиляторы и интерпретаторы, так что всем, кто хочет серьезно «поиграться» со смартфоном, будет где развернуться. Для установки пакета достаточно тапнуть по его имени и на следующем экране, содержащем информацию о приложении, нажать кнопку «Install».
Если во время bootstrap’а BotBrew возникли проблемы, ты можешь попробовать установить его вручную с помощью следующей команды:wget http://repo.botbrew.com/anise/bootstrap/install.sh -O - | su
Если и это не помогло, можно попробовать удалить все установки («Remove BotBrew» в настройках) и затем попробовать запустить эту команду.
После этого пакет появится на вкладке «Installed», однако никакой кнопки «Run» или чего-то подобного ты не увидишь. Приложение придется самостоятельно запускать из консоли, что, впрочем, логично. Само приложение устанавливается внутрь каталоговой структуры /data/botbrew, в котором «эмулируется» реальное окружение Linux-дистрибутива с каталогами /etc, /usr и другими. А чтобы не мучить пользователей необходимостью набирать полный путь до команды, разработчики BotBrew предусмотрели одноименную команду-враппер. Чтобы с ее помощью запустить, например, установленный консольный браузер Lynx, следует набрать такую команду:
$ botbrew lynx http://xakep.ru
Как вариант — каталог /data/botbrew/bin можно добавить в переменную окружения PATH, но это придется делать после каждого запуска терминала:
Сайт журнала в консольном браузере Lynx
Процесс установки пакета
$ export PATH="$PATH:/data/botbrew/bin"
С демонами и разными сетевыми сервисами, кстати, дела обстоят намного лучше. После старта демоны сразу будут запущены, а управлять их включением можно через графический интерфейс, доступный по нажатию на кнопку «Play» в нижней части интерфейса BotBrew. Некоторые приложения могут потребовать создания дополнительных пользователей и изменения их параметров, это можно сделать так же, как в обычной Linux-системе:
- Создание пользователя:
$ botbrew adduser vasya - Открытие пользователю доступа в интернет:
$ botbrew addgroup vasya inet - Переключение BotBrew на другого пользователя:
$ botbrew su vasya
Обрати внимание, что все эти изменения будут касаться только виртуального окружения BotBrew и никак не отразятся на основной системе. Консоль можно использовать также для установки приложений в обход графического интерфейса. Для этого следует использовать консольный менеджер пакетов Opkg, синтаксис команд которого полностью совместим в apt-get:
$ botbrew opkg install dropbear
Обратная операция:
$ botbrew opkg remove dropbear
Чтобы оставаться «на острие прогресса», репозиторий BotBrew нужно время от времени обновлять, нажав на соответствующую кнопку в графическом интерфейсе (ее ни с чем не спутаешь). Новые версии пакетов будут отображаться на вкладке «Upgradable». Достаточно тапнуть по его имени и нажать «Upgrade».
Управлять сервисами в BotBrew действительно просто
В маркете можно найти также приложение под названием BotBrew Basil, помеченное как экспериментальное. По сути, это все тот же BotBrew, но с одним весьма важным отличием. Вместо собственных репозиториев и менеджера пакетов Opkg он использует ARM-репозитории Debian Linux и менеджер пакетов apt-get. Это значит, что количество софта, которое можно установить с помощью «бразильской версии» приложения, намного больше. В десятки раз больше.
Кроме использования дебиановских репозиториев, Basil отличается также слегка измененным интерфейсом. Например, сразу после запуска он предлагает выбрать каталог установки. По умолчанию используется /data/botbrew-basil, что, на мой взгляд, вполне логично, однако ты можешь выбрать любой другой, в том числе на ext2-разделе карты памяти (FAT не подойдет).
Второе важное отличие — это возможность выбрать способ использования приложения, которая появляется сразу после нажатия «Proceed». Вариантов здесь четыре:
- Use BotBrew on the command line — по сути, аналог установки в стиле обычного BotBrew.
- Use the dpkg/APT system — установка вместе с apt-get и репозиториями Debian. Рекомендуемый вариант установки.
- Run Python programs — аналог первого варианта с автоматической установкой Python.
- Install a minimal Debian — минималистичная установка Debian.
Поясню второй и четвертый пункты. Первый BotBrew и первый пункт в этом списке делают не что иное, как установку минималистичной Linux-системы (состоящую всего из нескольких команд и библиотек), внутри которой как раз и происходит запуск Linux-софта. Однако apt-get, в отличие от минималистичного Opkg, требует более-менее полноценной установки Linux. Поэтому, выбрав второй пункт, ты получишь у себя на смартфоне этакий микро-Linux. А если мы можем установить микроверсию, почему бы не установить более-менее полноценный дистрибутив. Для этого и существует четвертый пункт.
После bootstrap’а BotBrew Basil на экране появится все тот же интерфейс управления установкой приложений, знакомый нам по классической версии приложения, а в системе появится команда botbrew2, с помощью которой можно запускать софт. Каких-то существенных отличий в управлении здесь нет, кроме разве что команды apt-get вместо opkg и возможности подключения дополнительных репозиториев (в том числе репозитория первого BotBrew) прямо через интерфейс установки приложений.
BotBrew Basil предлагает несколько вариантов установки
Прекомпилированные приложения и репозитории с готовыми пакетами — это прекрасно, но что, если необходимого приложения нет среди доступных для установки? Ведь даже тот же BotBrew Basil, позволяющий подключать репозитории Debian с огромным количеством софта, в силу своего экспериментального характера заработает далеко не на каждом смартфоне.
В этом случае мы можем попробовать собрать приложение самостоятельно. Однако здесь нас ждет сразу несколько трудностей: дело в том, что для сборки софта для смартфона придется подготовить необходимый инструментарий кросс-компиляции, затем учесть все зависимости собираемого приложения и, наконец, в некоторых случаях внести необходимые изменения в код. Все это довольно хлопотные дела, которые вряд ли стоят того, чтобы тратить на них время.
Тем не менее мы можем воспользоваться наработками других людей, чтобы автоматизировать процесс сборки софта. Одно из наиболее развитых и интересных решений из этой области — набор скриптов SCRIPTSET, разработанный пользователем smitna с XDA Developers. Он позволяет буквально в пару команд собрать множество самых разных приложений, в числе которых htop, ImageMagick, iptables, ELinks, Screen, mc, node.js, Samba, strace, QEMU, Parted, SANE (его можно использовать для прямой печати на принтере с телефона!) и множество других. Скрипт сам выкачает кросс-компилятор, все необходимые зависимости и приложения, наложит патчи, где это необходимо, и сгенерирует готовый для распаковки на телефон архив.
SCRIPTSET работает только в Linux, но, если у тебя Windows, ты можешь установить Ubuntu в виртуальной машине. Далее следует открыть терминал и установить необходимые для сборки кросс-компилятора инструменты:
$ sudo apt-get install build-essential cmake autoconf2.13 scons
После этого можно получить сам SCRIPTSET и распаковать его:
$ cd ~
$ wget http://goo.gl/zvnom -O scriptset-2.6.zip
$ unzip scriptset-2.6.zip
В результате распаковки мы получим… еще один архив: scriptset-2.6.tar.bz2. Но и это еще не все, архив запакован без традиционного для tar корневого каталога, поэтому его необходимо создать самостоятельно. И уже в него производить распаковку:
$ mkdir scriptset
$ cd scriptset
$ tar -xjf ../scriptset-2.6.tar.bz2
После распаковки в каталоге появится несколько скриптов, конфигов, а также внушительных размеров файл README, содержащий инструкции по использованию скриптов. На скриптах не стоит бит исполнения (что не удивляет, учитывая предыдущие заморочки), поэтому его надо поставить самостоятельно:
$ chmod 755 *.sh
Запуск сборки приложений
Далее открываем файл configuration.conf на редактирование и меняем в нем следующие строки:
# vi ~/scriptset/configuration.conf
// Каталог установки приложений на смартфоне
TARGET_SYSROOT="/data/sysroot"
// Целевой процессор
TARGET_MARCH="armv7-a"
TARGET_MTUNE="cortex-a9"
TARGET_MFPU="neon"
TARGET_MFLOAT="softfp"
Этого будет достаточно для корректной сборки любого приложения; целевым процессором будет стандартный ARMv7 с дополнительным набором инструкций NEON. Такой установлен в любом смартфоне, выпущенном за последние три-четыре года. Каталог /data/sysroot будет использован для установки приложений на смартфоне, однако, как это ни странно, его придется также создать и на настольной машине:
$ sudo mkdir -p /data/sysroot
$ sudo chown user:users /data/sysroot
$ sudo chmod 777 /data/sysroot
Как объясняет автор скриптов, такое действие необходимо потому, что пути для ключевых каталогов в некоторые приложения вшиваются на этапе сборки. Поэтому, если бы мы собрали приложение, используя в качестве корневого текущий и любой другой каталог, оно бы просто не заработало на смартфоне из-за различия в путях. Я уверен, что корректнее было бы решить эту проблему с помощью chroot, но проще и быстрее создать нужный каталог, а по окончании работ — удалить его.
Далее мы должны указать список приложений, которые планируем собирать. Для этого открываем файл package_selection.conf и меняем no на yes в нужных опциях. Например, чтобы собрать bash, ImageMagick и Screen, нужно поменять три следующих строки:
# vi ~/scriptset/package_selection.conf
BASH=yes
IMAGEMAGICK=yes
SCREEN=yes
Имей в виду, что настройки, находящиеся между строками # ALWAYS NEEDED, менять нельзя. Эти приложения и библиотеки нужны всегда, и без них другие приложения просто не собираются. Теперь можно скомпилировать приложения. Для этого достаточно запустить скрипт build.sh без аргументов:
$ ./build.sh
Если все необходимые пакеты были установлены и компилятор в ходе сборки не выдал никаких ошибок, в результате сборки в текущем каталоге появятся два архива: cs-sysroot.tar.bz2 и android-mysysroot.tar.bz2. Первый — это окружение, необходимое для запуска приложений, созданное кросс-компилятором, а второе — сам набор приложений. Оба этих архива необходимо скинуть на карту памяти смартфона, а затем, запустив на нем эмулятор терминала или подключившись по ADB, выполнить две команды:
$ tar xjf /sdcard/cs-sysroot.tar.bz2
$ tar xjf /sdcard/android-mysysroot.tar.bz2
В результате во внутренней памяти смартфона появится каталог /data/sysroot, в котором и будут размещены приложения. Запускать их следует из того же терминала, указывая полный путь. Например:
$ /data/sysroot/usr/bin/bash
Ну или после запуска терминала добавить /data/sysroot/usr/bin в PATH:
$ export PATH="$PATH:/data/sysroot/usr/bin"
Несмотря на довольно серьезные различия между Android и типичным Linux-дистрибутивом, установить консольные Linux-приложения на смартфон не так уж и сложно. К сожалению, о графических приложениях речи пока не идет, но проекты портирования библиотеки Qt и графического сервера Wayland в Android уже есть, и в скором времени, надеюсь, мы получим рабочее решение.
Впервые опубликовано в журнале «Хакер» от 08/2013.
Публикация на Issuu.com
Подпишись на «Хакер»
3 способа эмуляции приложений Android в Linux
Если вы заядлый фанат Android, вы, вероятно, знаете, что ваша любимая мобильная операционная система произошла от Linux. В прошлом мы рассказывали, как Android основан на компонентах с открытым исходным кодом, и что ядро Linux является одним из них. Само собой разумеется, что если они так близки, запускать приложения Android в Linux будет относительно легко.
Как оказалось, это правильно.Обычно запускать приложения для одной операционной системы в другой сложно. Но есть несколько методов, доступных для пользователей Linux для запуска приложений Android, которые значительно упрощают работу. Давайте взглянем.
Существующие методы для Android в других ОС
В прошлом мы рассмотрели несколько способов запуска Android или его приложений в других операционных системах.Обычно они принимают одну из двух форм:
- Первый — использовать виртуальную машину (ВМ) какого-то типа, иногда называемую эмулятором. Короче говоря, это программное обеспечение, которое имитирует всю систему Android.Примером этого является эмулятор, включенный в Android Studio, который мы активно использовали при создании простого приложения для Android. Вы также можете использовать универсальный инструмент виртуальной машины, такой как VirtualBox, и запустить одну из разновидностей Android, предназначенную для настольных компьютеров. Наконец, BlueStacks — более оптимизированный пример этого метода для Windows.
- Второй способ — использовать программы совместимости. Хотя их точные методы различаются, они предназначены для преобразования ввода и вывода программного обеспечения Android во что-то, что хост-машина может понять.В одном подходе для достижения этого эффекта используется браузер Chrome с надстройкой ARChon.
В следующих разделах мы рассмотрим следующие решения для Linux, в которых в разной степени используются указанные выше параметры:
- Anbox, который использует формат пакета Ubuntu Snap.Он работает больше как уровень совместимости и запускает приложения из своего рода «панели управления».
- Шашлык, использующий оптимизированную виртуальную машину на основе QEMU. Он создает записи для приложений Android в вашем обычном системном лаунчере.
- Genymotion, использующий оптимизированную виртуальную машину на основе VirtualBox. Он запускает полный интерфейс виртуального устройства.
Ниже мы рассмотрим каждый из этих вариантов более подробно.
1.Anbox
Anbox, как следует из названия, позиционирует себя как «Android в коробке». Это приложение Linux, которое предоставляет полный стек программного обеспечения Android в контейнере , аналогично тому, как работает Docker.Распространяемый как пакет Snap, ваш дистрибутив должен поддерживать этот формат — к счастью, большинство основных из них поддерживает.
Вы можете найти его в своем программном центре или использовать команду, подобную следующей для Ubuntu:
sudo apt установить snapd
Теперь, когда система Snap установлена, используйте команду с веб-сайта Anbox, чтобы загрузить и установить ее:
мгновенная установка - классический установщик anbox & amp; & amp; anbox-установщик
Сценарий установщика на основе терминала загрузит все за вас.Он начнется с выполнения некоторых функций администратора, таких как добавление нового репозитория программного обеспечения и установка необходимых компонентов. Затем он загрузит пакет Anbox Snap (показан на изображении ниже) и установит его.
После установки вы можете подтвердить его работу с помощью следующей команды:
После установки Anbox вы можете запустить его из главного меню.Он появился у меня в категории «Потерянные и найденные», но должен появиться при текстовом поиске. Через несколько секунд на экране должен появиться «Диспетчер приложений Anbox».
На веб-сайте проекта указано, что он все еще находится в активной разработке.Вы почувствуете это, когда придет время установить свое первое приложение. Для этого нет удобного графического способа перетаскивания — вам нужно использовать Android Debug Bridge (ADB). Этот инструмент является частью Android Studio, поэтому, если он уже установлен, все готово. Если нет, вы можете установить Android Studio (поскольку он предоставляет собственный эмулятор, еще один вариант) или посмотреть, доступны ли они в вашем диспетчере пакетов.
В Ubuntu следующее даст вам то, что вам нужно:
sudo apt установить android-tools-adb
Теперь вы можете установить приложение, для которого у вас есть файл APK.Следующая команда установит Orgzly, приложение для создания заметок и дел:
Наконец, вы увидите всплывающий значок приложения в окне Anbox. При нажатии на нее откроется приложение, как и следовало ожидать (на изображении ниже показано приложение Orgzly, которое мы установили выше):
Клавиша Esc действует как кнопка возврата, позволяя закрывать приложения.
2. Шашлык
Шашлык — еще один вариант, он похож на Анбокс. В то время как последний использует контейнерную технологию пакетов Snap, Shashlik фактически включает легкую виртуальную машину на основе QEMU.
После загрузки здоровенного пакета DEB вы можете установить его в системе Ubuntu с помощью следующей команды:
dpkg -i shashlik_0.9.3.deb
Установка приложений в Шашлык тоже в стадии разработки. Но команда установки немного более прямолинейна:
/ opt / shashlik / bin / shashlik-install name_of_app_file.apk
По завершении вы увидите небольшое всплывающее окно с сообщением об успешном выполнении.
Вы также получите запись в меню запуска (в категории «Приложения Android»), и когда вы нажмете на нее, приложение запустится.Время запуска Shashlik заметно больше, чем у Anbox, поскольку на самом деле запускается правильная виртуальная машина:
Наконец, ваше приложение откроется в очень маленьком окне.В * / opt / shashlik / android / hardware-qemu.ini есть некоторые настройки QEMU, которые вы можете настроить для увеличения экрана.
В целом, установка и настройка Shashlik с некоторыми приложениями кажется немного проще, если вас устраивает более медленный запуск.
3. Genymotion
Genymotion немного отличается от двух вышеупомянутых вариантов.
Во-первых, это коммерческий продукт, поэтому, если вы хотите использовать его в течение длительного времени, вам нужно будет потратить немного денег.Это также означает, что вам понадобится учетная запись Genymotion, чтобы даже загрузить пробную версию. Наконец, он позиционируется как инструмент разработчика, а это означает, что он на самом деле не предназначен как удобный способ запуска приложений, а скорее как полностью подготовленная система для тестирования. Если ничего из этого не отвлекает, вы можете начать с заполнения простой формы и регистрации учетной записи:
После повторного входа в свою учетную запись нажмите кнопку «Пробная версия» в правом верхнем углу страницы.Вы попадете на страницу загрузки, где сможете выбрать версию Genymotion для своей системы. Во время загрузки вы также должны убедиться, что у вас установлен VirtualBox, поскольку Genymotion использует его.
После завершения убедитесь, что предоставили исполняемому файлу BIN права, а затем запустите его от имени пользователя root (как показано в команде на изображении ниже).
Простая установка завершится быстро, и вы получите информацию о доступной команде «/ opt / genymobile / genymotion / genymotion». Запуск этого запустит приложение:
Пробная версия появится с запросом аутентификации или лицензии.Выберите Войдите в систему и укажите данные своей учетной записи. После принятия EULA вам будет предложено создать виртуальное устройство:
Приложение предоставляет выбор старых и новых устройств.Если выбрать одно и дважды щелкнуть Next , процесс будет загружен и настроен.
После установки вам нужно только выбрать новое устройство из списка в главном окне приложения и нажать кнопку Start :
После запуска вы увидите в окне то, что похоже на полноценное устройство Android.
Но сначала он содержит лишь минимальный набор приложений. К счастью, с Genymotion вы можете использовать графический метод (перетаскивание) для установки новых. При перетаскивании файла APK в окно он автоматически переносится на виртуальное устройство, устанавливается и запускается.На изображении ниже мы снова видим Orgzly, на этот раз в более высоком разрешении:
Итак, какой из них лучший?
Ответ прост: тот, который запускает нужные вам приложения.И, как это часто бывает, не думайте, что вам нужно выбирать только один. Если у вас есть приложение, которое работает как шарм в Anbox, еще одно, которое жужжит в шашлыке, а другое требует полной мощности Genymotion, используйте их все! Не стесняйтесь добавить сюда эмулятор Android Studio, на всякий случай!
Есть ли у вас какие-нибудь приложения для Android, которые обязательно должны быть на рабочем столе? Вы использовали какое-либо из вышеперечисленных решений? Как они сравниваются с подобными BlueStacks? Поделитесь своими мыслями и советами в комментариях ниже!
Объяснение 100 самых популярных эмодзи
Смайликов так много, что бывает сложно понять, что они все означают.Вот объяснения самых популярных смайликов.
Об авторе
Аарон в течение пятнадцати лет разбирался в технологиях как бизнес-аналитик и менеджер проектов и почти столько же (со времен Breezy Badger) был лояльным пользователем Ubuntu. Его интересы включают открытый исходный код, приложения для малого бизнеса, интеграцию Linux и Android, а также вычисления в текстовом режиме.
Подробнее об Аароне Питерсе
Подпишитесь на нашу рассылку новостей
Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!
Еще один шаг…!
Подтвердите свой адрес электронной почты в только что отправленном вам электронном письме.
.
лучших эмуляторов Android для Linux — Linux Hint
Первый вопрос, который вам нужно задать себе, — что вы хотите, чтобы эмулятор Android сделал для вас. Часто вам это нужно только для определенного приложения, которое вы не можете получить для своего рабочего стола Linux. Иногда вы хотите запустить игру, а иногда вы хотите разработать собственное приложение.
Что лучше всего подходит для чего?
Виртуальное устройство Android
Разработан специально для тестирования собственного кода при написании кода из Android Studio.Встроенный эмулятор лучше всего подходит для тестирования ваших собственных приложений, как и ожидалось, он лучше всего подходит для использования Android SDK, но вы можете использовать эмулятор отдельно. Образы занимают много места на диске и используют много памяти при использовании, но все функции есть и работают почти безупречно. С помощью этого пакета вы также можете имитировать перемещение телефона, низкий заряд батареи и другие ситуации, связанные с оборудованием.
Шашлык
Шашлык по-прежнему работает, он на удивление мощный и простой в использовании.После его установки вы можете устанавливать приложения для Android, запустив эмулятор Shaslik и подключившись к нему с помощью adb. После этого приложения можно будет запускать прямо с рабочего стола. Они будут выглядеть как обычные приложения, но будут немного медленнее запускаться, поскольку виртуальная машина должна запускаться раньше самого приложения. Обратите внимание, что этот пакет все еще находится в стадии бета-тестирования, а последнее обновление было еще в 2016 году, поэтому убедитесь, что вы не полагаетесь на обновления. Однако если ваше приложение работает, вы можете продолжать его использовать.
Android_x86
Android_x86 также можно запускать на виртуальной машине, Virtualbox — это идея, но не единственная. Самое интересное в этом пакете заключается в том, что вы можете установить его как вторую ОС на свой диск и запустить. Когда вы это делаете, вы больше не эмулируете, вместо этого вся установка выполняется для вашего ноутбука. Это также работает, когда вы хотите использовать больше времени автономной работы от вашего ноутбука, он обычно потребляет гораздо меньше энергии, чем ваша обычная ОС. Поскольку он может заменить вашу ОС, он точно эмулирует практически все.Инструменты анализа для ваших собственных приложений не являются приоритетом в этом проекте, поэтому им может немного не хватать в этой области, но для регулярного использования это отлично. Обновить его также просто, так как образ является ISO, а для установки есть файл RPM.
Ящик
Anbox нацелен на то, чтобы дать вам возможность запускать приложения Android в Linux; В коробке, как следует из названия. Пакет поставляется только в виде оснастки, если вы не собираетесь разрабатывать. Если вы хотите собрать код самостоятельно, вам необходимо загрузить весь исходный код для Android.Это приложение отлично подходит для запуска небольших приложений прямо на рабочем столе. Чтобы установить приложения для Android, проще всего найти диспетчер пакетов и использовать его. Программа adb связывается с любым Android, подключенным к компьютеру, Anbox будет действовать как мобильный телефон, подключенный к компьютеру, на котором он работает. Вы также можете добавить Google Play самостоятельно, он не включен по юридическим причинам. F-Droid — популярная альтернатива с открытым исходным кодом.
Genymotion
Genymotion доступен только как дистрибутив с закрытым исходным кодом, но вы можете использовать его бесплатно.Когда он установлен, он полностью способен эмулировать все, что может сделать телефон. Он использует VirtualBox в фоновом режиме, но имеет приятный графический интерфейс поверх него, что упрощает выполнение тестов. Компания также предлагает онлайн-фермы эмулируемого оборудования, которое вы можете арендовать. Конечно, это дорогое удовольствие и предназначено только для профессиональных разработчиков.
Браузер Chrome
Если вы используете браузер Chrome, вы также можете использовать ARC-welder. Это приложение из Интернет-магазина Chrome, установка занимает некоторое время, поскольку приложение большое, оно включает в себя эмулятор.После того, как он установлен и вы запустите его, вы увидите чрезвычайно простой экран. На экране есть один большой плюс и текст «Добавьте APK», здесь у вас должен быть готов файл apk в локальном хранилище. После установки приложения на новой вкладке появляется значок, который вы можете щелкнуть, чтобы снова запустить приложение. ARC-welder предназначен только для тестирования, и в версии для Linux есть серьезные ошибки, но он хорошо интегрируется с рабочим столом Gnome.
Иллюстрация 1: ARC Welder под управлением F-Droid
Заключение
Иногда вы хотите протестировать приложения, в качестве любителя использовать свои собственные, в качестве профессионала использовать онлайн-системы.Для игр используйте Anbox, пока рано, но уже полезно. Когда вы разрабатываете себя, Android SDK — ваш лучший вариант, а собственное виртуальное устройство будет самым простым в использовании. Genymotion приходит на помощь, когда вам нужно протестировать функции оборудования и картографические приложения.
.
Установите лучший эмулятор Android для Ubuntu / Linux
Когда мы рассматриваем эмуляторы Android, первым вариантом является эмулятор Android по умолчанию от Google, доступный в android-sdk. Но на обычном компьютере (в моем 4 ГБ оперативной памяти, ноутбуке с процессором Core i3 3 rd Gen) загрузка занимает около 5 минут, а производительность очень медленная. Если вы разработчик, то после запуска андроид студии становится хуже. Итак, я начал искать более быстрый, но стабильный эмулятор Android для Linux.Genymotion
Genymotion — лучший Linux-версатор эмулятора Android, который я когда-либо использовал. Это быстро, просто и может быть интегрировано в студию Android без дополнительной настройки. Если вы ищете эмулятор Android для разработки Android или просто хотите запустить WhatsApp или что-то еще на своем компьютере, Genymotion — правильный выбор. Genymotion бесплатен для личного использования и может быть загружен с их сайта после регистрации. Если вы хотите использовать Genymotion для бизнеса, попробуйте Desktop Edition для бизнеса.Требования
Для использования Genymotion в вашей системе должна быть виртуальная машина Virtualbox. Если у вас нет Virtualbox, загрузите настройку для своей версии Linux со страницы установки Virtualbox linux. Установите его и перезапустите систему, чтобы продолжить.
Как установить Genymotion в Ubuntu / Linux
- Перейдите на этот сайт Genymotion и создайте бесплатную учетную запись.
- Войдите в систему, используя свою учетную запись, и перейдите к этой загрузке.Если вы не уверены, скачайте 32-битную версию)
- Загруженный файл будет иметь расширение .bin . Linux не позволяет запускать файл, загруженный из Интернета. Вы должны предоставить исполняемому файлу привилегию для его запуска. Для этого откройте терминал. Либо скопируйте и вставьте файл в домашний каталог, либо измените рабочий каталог терминала с помощью команды cd. Наберите chmod + x имя-файла.bin, где имя-файла — имя загруженного файла.
- Теперь, Установка будет продолжаться.Завершите установку
- После установки вы можете запустить Genymotion из панели запуска / меню. Если его нет, запустите программу вручную из / home / you-user name / genymotion / genymotion (возможно, вам придется сделать эту программу исполняемой с помощью chmod)
- Теперь вы должны увидеть следующий экран загрузки
- После загрузки , Вы должны увидеть приглашение для входа в систему. Для входа используйте предыдущее имя пользователя и пароль.
- Теперь пора добавить в эмулятор новый телефон.Вы можете сделать это, нажав кнопку «Добавить» (+).
- Здесь вы должны увидеть список доступных эмуляторов. Там вы можете найти устройства практически со всеми версиями Android, о которых вы слышали. Выберите любой, который хотите, и нажмите Далее. В новом окне вы можете указать имя для вашего устройства. Нажмите кнопку «Далее.
- Дождитесь завершения загрузки и установки. После завершения установки виртуального устройства оно появится в списке виртуальных устройств. Затем вы можете добавить любое количество эмуляторов, какое захотите.В моем случае я добавил 3 из них.
- Поздравляю. Вы успешно добавили эмулятор. Пришло время запустить его. Выберите доступный эмулятор и нажмите кнопку запуска. Затем появится окно сообщения «Инициализация виртуального устройства».
- Завершение первой загрузки займет некоторое время. Потерпи :-). Вот скриншот моего эмулятора
Ключевые слова: Запуск приложений Android в Linux, Запуск приложений Android на ПК, Установка Genymotion в Linux ubuntu mint, Эмулятор Android для Linux, Самый быстрый эмулятор Android, Установка apk в Linux
Afsal — опытный разработчик полного стека, специализирующийся на разработке настольных приложений.Он также регулярно публикует качественные учебные материалы на своем канале YouTube под названием «Genuine Coder». Он любит участвовать в проектах с открытым исходным кодом и всегда с энтузиазмом относится к инициативам с открытым исходным кодом.
.
Как запускать приложения и игры Android в Linux
Хотите запускать приложения Android в Linux? Как насчет игр для Android? Доступно несколько вариантов, но лучше всего работает Anbox. Это инструмент, который запускает ваши любимые приложения для Android в Linux без эмуляции.
Вот как использовать Anbox для запуска приложений Android на ПК с Linux сегодня.
Встречайте Anbox, ваш «Android в коробке»
Доступ к любимым приложениям и играм для Android открывает новое измерение производительности в Linux.Мобильные приложения по своему дизайну намного проще, чем те, что используются в операционных системах для настольных компьютеров.
Это может быть именно то, что вам нужно для повышения производительности рабочего стола!
Между тем мобильные игры становятся все более изощренными.Имеет смысл, что вы можете продолжить играть на другом устройстве. Это особенно верно, учитывая ограниченное время автономной работы телефона или планшета.
Для запуска приложений Android доступно несколько инструментов macOS и Windows (например, Bluestacks), но это недоступно для Linux.
Вместо этого пользователи Linux должны попробовать Anbox, бесплатный инструмент с открытым исходным кодом для запуска приложений Android в Linux.Он основан на последней версии Android Open Source Project (AOSP) и предлагает оконную среду Android.
Anbox использует контейнеры для отделения Android от основной операционной системы, что позволяет запускать игры для Android в Linux
Это еще не все; Anbox не имеет ограничений, поэтому теоретически вы можете запустить любое приложение Android в Linux.Также нет аппаратной виртуализации, поэтому Anbox также работает на ноутбуке или настольном компьютере, независимо от спецификации системы.
Какие дистрибутивы Linux поддерживают Snap?
Anbox можно использовать бесплатно, но он поставляется в виде мгновенного пакета.Это означает, что двоичный файл и все зависимости включены в один пакет, что упрощает установку. К сожалению, это означает, что ваша ОС Linux не может использовать Anbox, если она не может распаковать и установить снимки.
Для установки снимков требуется служба snapd , которая совместима с такими дистрибутивами Linux, как:
- Arch Linux
- Debian
- Fedora
- Gentoo
- Linux Mint
- Manjaro
- openSUSE
- Solus
- Ubuntu
В Ubuntu snapd предустановлен с 14.04 г. Вы найдете полную информацию о своем дистрибутиве на веб-сайте Snapcraft.
Чтобы установить snapd , используйте следующую команду терминала:
sudo apt install snapd
Прежде чем продолжить, дождитесь завершения установки. Обратите внимание, что хотя snapd работает или предварительно установлен с указанными выше дистрибутивами, Anbox официально поддерживается на:
- Ubuntu 16.04 LTS (Xenial Xerxes)
- Ubuntu 18.04 LTS (Bionic Beaver)
Последующие выпуски Ubuntu также должны запускать Anbox.Эта поддержка означает, что вы, вероятно, получите лучшие результаты при запуске приложений Android в Ubuntu, чем другие дистрибутивы.
Установка Anbox в Linux
После установки службы snapd на вашем ПК с Linux вы готовы к установке Anbox.Используйте следующую команду, которая устанавливает все необходимое:
snap install - классический установщик anbox & amp; & amp; anbox-установщик
Введите пароль, когда будет предложено, и пакет snap будет загружен.
Вскоре после этого вы увидите выбор:
- Установить Anbox
- Удалить Anbox
Если вам потребуется удалить программное обеспечение позже, просто повторно запустите указанную выше команду установщика и выберите вариант 2.Однако в случае установки Anbox вы можете перейти к варианту 1.
После этого вы увидите сводку того, что будет делать установка. Найдите минутку, чтобы прочитать это.
Вы увидите, что файлы добавлены из списка PPA. Также должно быть уведомление о том, что среда выполнения anbox будет автоматически запускаться при входе в Linux. (Это программная библиотека, которая позволяет запускать другие программы и приложения.)
Если все это вас устраивает, введите Я СОГЛАСЕН и дождитесь установки Anbox.После этого следуйте инструкциям по перезагрузке системы, прежде чем продолжить.
Загрузка файлов APK на компьютер с Linux
После перезагрузки компьютера вы должны найти Anbox в меню рабочего стола. Щелкните его, чтобы запустить — скоро вы увидите окно Anbox.
Если ничего не происходит или вы застряли на заставке с сообщением Начало , отмените или дождитесь окончания этого. Затем откройте новый терминал и введите
anbox session-manager
Затем снова щелкните значок в меню.Через несколько мгновений Anbox должен запуститься. Это известная ошибка в дистрибутивах на основе Ubuntu 16.04, которая не должна влиять на последующие дистрибутивы.
Когда Anbox запущен, вы увидите список основных приложений Android, которые вы можете запускать в Linux, таких как Календарь и Электронная почта. Просто щелкните эти значки левой кнопкой мыши, чтобы открыть их; они появятся в новых окнах, размер которых можно изменить по мере необходимости. Если вам нужен браузер, в комплект входит оболочка WebView.
Чтобы добавить свои собственные приложения и игры, все, что вам нужно сделать, это загрузить (или скопировать с другого устройства) соответствующие файлы APK.Это файлы установщика, такие как файлы DEB (или снимки) в Linux или файлы EXE в Windows.
На телефонах и планшетах Android файлы APK доступны через Google Play на Android … но это не относится к Anbox.
Установка приложений Android в Linux с помощью Anbox
Поскольку реализация Android в Anbox не зарегистрирована, вы не сможете получить доступ (или установить) Google Play. Итак, как вы можете запускать приложения Android на Ubuntu и других дистрибутивах Linux с Anbox?
Следовательно, ответ заключается в загрузке APK-файлов.Вы найдете их через альтернативы Google Play, но вы также можете извлечь APK из Google Play.
Хотя Google ограничивает доступ к Play Store зарегистрированным устройствам Android, обход этого не является пиратством. Если у вас уже есть файлы APK или они доступны бесплатно, можно запускать их на незарегистрированных устройствах Android.
После того, как у вас появятся все файлы APK, которые вы хотите установить, вам нужно будет разрешить установку из неизвестных источников. Сделайте это, открыв меню Настройки на экране приложений, затем найдите Безопасность. Включите переключатель рядом с Неизвестные источники и нажмите ОК , чтобы принять.
После этого найдите файлы APK и дважды щелкните первый из них, который хотите установить. Через несколько секунд приложение или игра должны быть готовы и запустятся в собственном окне. Установленные игры отображаются рядом со всеми другими приложениями Linux.
Запускать приложения Android в Linux — это так просто!
Теперь вы можете запускать Android APK в Linux
Поскольку Anbox находится на альфа-стадии, могут возникнуть проблемы со стабильностью.Тем не менее, приятно знать, насколько просто настроить, установить и запустить приложения Android в Linux Ubuntu с Anbox.
Напомним:
- Убедитесь, что ваш дистрибутив поддерживает пакеты snap.
- Установите или обновите службу snapd .
- Установите Anbox.
- Запустите Anbox со своего рабочего стола Linux.
- Скачайте файлы APK и запустите их.
- Подождите, пока установится APK-файл.
- Щелкните, чтобы запустить приложения Android на рабочем столе Linux.
Anbox — не единственный способ запускать приложения и игры Android в Linux, но мы полагаем, что через несколько лет он станет самым популярным. А чтобы пойти другим путем, узнайте, как запустить Linux на Android-устройстве.
5 поисковых систем, которые помогут найти больше, чем то, что показывает Google
Знаете ли вы, что Google показывает не все? Эти альтернативные поисковые системы помогают искать в Интернете, чего не делает Google.
Об авторе
Заместитель редактора по безопасности, Linux, DIY, программированию и техническим вопросам. Он также выпускает The Really Useful Podcast и имеет большой опыт в поддержке настольных компьютеров и программного обеспечения.Автор статьи в журнале Linux Format, Кристиан — мастер Raspberry Pi, любитель Lego и фанат ретро-игр.
Подробнее о Кристиане Коули
Подпишитесь на нашу рассылку новостей
Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!
Еще один шаг…!
Подтвердите свой адрес электронной почты в только что отправленном вам электронном письме.
.