Error — Помогите решить проблему с запуском Android Studio на Ubuntu


Содержание
Цукерберг рекомендует:  6 полезных привычек, к которым вас приучит программирование

Start Failed: Внутренняя ошибка при запуске Andro >

Я запускаю Android Studio в первый раз после распаковки файла, который я скачал с веб-сайта Android, позвонив. /studio.sh в каталоге android-studio/bin. Я получаю следующую ошибку:

Я запускаю java версию 1.8.0_121

    2 2
  • 24 окт 2020 2020-10-24 16:26:54
  • Amitai Fensterheim

2 ответа

Вы могли бы извлечь и попробовать выполнить studio.sh script перед настройкой jdk .

Вы можете решить проблему следующим образом:

После установки jdk удалите извлеченные файлы студии Android, разархивируйте их снова, а затем выполните studio.sh .

  • 24 окт 2020 2020-10-24 16:26:55
  • Vinayaka Tadepalli

Ошибки были вызваны антивирусным программным обеспечением (в данном случае Avast). После удаления я смог нормально установить и запустить Android Studio. это решило проблему.

Ошибка Grade в Andro >22.09.2020, 00:09. Просмотров 631. Ответов 2

Помогите пожалуйста с ошибкой в Android Studio
После установки Android Studio 2.2 на Ubuntu(linux) и создании проекта выводится вот такое сообщение (Ошибка):
Error:Process ‘command ‘/media/nikol/DATA/FILES_UBUNTU/Android_Programm/android-studio/jre/bin/java» finished with non-zero exit value 2

пробавал менять версию в файле build.gradle:
dependencies <
classpath ‘com.android.tools.build:gradle:2.2.0’ (на другую версию 2.1.0 и другие версии писал)
>

переходя в File>Project Structure>Project указанно:
Gradle version — 2.14.1
Android Pligin Version — 2.2.0
Android Plugin Repository — jcenter
Android Library Repository — jcenter

22.09.2020, 00:09

Android Studio не работает после обновления Ubuntu
Я не понял что именно произошло, но вчера произошла установка обновлений на ОС ubuntu 14.04, каких.

Android Studio на ubuntu нужно запусктаь от рута?
Ну чтобы там всякие opengl usb нормально работали.

Ошибка в Android Studio Error:No resource identifier found for attribute ‘appComponentFactory’ in package ‘android’
Доброго времени суток! При компиляции андроид приложении выходит данная ошибка, прошу помочь! Мне.


Ошибка Android Studio
Ребята очень срочно нужна помощь. При запуске android studio возникает ошибка Error:Unable.

Andro > android studio

Android Studio не запускается, все пути написаны JAVA_HOME, JDK_HOME, PATH не помогает. Windows у меня x64. После установки программы запускается исполняемый файл studio64.exe, но ничего не происходит. Когда я открываю файл запуска studio.exe, я получаю сообщение об ошибке:

Failed to load JVM DLL c:\Program Files\Java\jdk-9.0.1\bin\server\jvm.dll if you already have a 32-bit JDK installed, define a JAVA_HOME variable in Computer > System Properties > Sysytem Settings > Environment Variables.

JAVA SDK работает, проверено, установлена последняя версия jdk-9.0.1 с сайта oracle, проверял на Eclipse. Помогите пожалуйста, я не знаю, что делать.

установлена последняя версия jdk-9.0.1 с сайта oracle

Удали и установи JDK 8

JAVA_HOME выстави правильно. Остальные переменные не нужны.

Удали и установи JDK 8

Удали и установи JDK 8

JAVA_HOME выстави правильно. Остальные переменные не нужны.

Как выставлен JAVA_HOME?

Должен в «C:\Program Files\Java\jdk », а не в «C:\Program Files\Java\jdk \bin»

Если в PATH и JAVA_HOME есть оставшийся мусор вроде JRE — удали его.

Как выставлен JAVA_HOME?

Имя переменной: JAVA_HOME

Значение переменной: C:\Program Files\Java\jdk1.8.0_151

Linux Ubuntu Andro >

Я извлек Android SDK в папку, которую я создал под названием «/usr /android /android-sdk-linux». Я захожу в «Инструменты /» и дважды щелкните исполняемый файл «Android», нажмите «Запустить в терминале», но ничего не происходит. Я тоже нажимаю «Выполнить», но опять ничего не происходит. я запускаю его в терминале (команда ./android ) и получаю:

Так почему это происходит?

Правка . Вот результаты

5 ответов

Все, что мне нужно было сделать, это sudo apt-get install openjdk-7-jdk . Никогда не пытайтесь вручную установить снова. о, извините за мое незнание предыдущих ответов.

когда вы используете дистрибутив Linux на основе Debian, лучшим решением, если вы устанавливаете JDK вручную (не из репозитория), является создание символической ссылки, указывающей на команду java.


Я решил эту проблему. Создайте символическую ссылку с именем /usr /bin /java и укажите ее /home /your_name /your_jdk_folder /bin /java

Это пример команды в терминале /konsol

Используя Ubuntu 14.04 с Sun JDK 1.8 в /opt /jdk, я решил эту проблему следующим образом:

При этом используется система альтернатив на основе Debian, которую также использует Ubuntu. Обратите внимание, что это в том случае, если у вас не установлен какой-либо другой Java (т.е. OpenJDK). Если у вас установлена ​​другая Java, скорее всего, у вас уже установлена ​​альтернатива для нее. Обратитесь к странице справки по альтернативам обновления, чтобы узнать, как работает система.

Похоже, у вас не установлена ​​Java. Попробуйте просто запустить java — это не найдено?

Я использовал Android Studio на Ubuntu 14.04, 64bit, и эта ошибка была вызвана проблемами с правами доступа к файлам в $home/android-studio/sdk/tools

Выполнение команды в $home/android-studio/sdk/tools решило проблему.

Error — Помогите решить проблему с запуском Android Studio на Ubuntu

Android Studio — IDE для разработки приложений для Андроид от Google на основе IntelliJ IDEA.

Установка:
Страница загрузок на официальном сайте.
Windows:
Необходимо установить JDK и прописать системную переменную JAVA_HOME

Перед первым запуском пропишите в переменную JAVA_HOME значение пути к текущей версии JDK (если не установлено, то установить JDK) — например C:\Program Files\Java\jdk1.7.0_21
P.S. Android Studio успешно запустилось на системе без переменной JAVA_HOME, где в PATH был прописан путь к JDK.

Чтобы использовать Android Studio с эмулятором на Windows XP SP3 необходимо скачать и установить старую версию Intel Hardware Accelerated Execution Manager (extra_intel_haxm-windows_r02.zip)

OS X:
Установка Andoid Studio на OS X намного проще — необходимо проинсталировать JDK, а затем Android Studio.

Не запускается эмулятор

Запускается эмулятор, но появляется ошибка «pixel launcher isn’t responding»

При запуске эмулятора лаунчер сообщает: Pixel launcher isn’t responding. Ни какой реакции на нажатия.

Произошло на машине с встроенной видеокартой Intel HD Graphics 3000 — в Windows 10 драйвер не поддерживает OpenGL (вероятно связанно с этим).
Решение: в наcтройках AVD установить значение Software-GLES 2.0 для Emulated performance\Graphics

Создание быстрого x86 эмулятора Android (AVD) на примере Android 5.0.1 (API 21)

Запускаем Android SDK Manager. Загружаем Intel x86 Atom System Image (ознакомьтесь также с Using Hardware Acceleration, Как разогнать эмулятор Android )

Пользуемся

Изменение места хранения AVD. Инструкция.
Проверено на Ubuntu 16.04, Android Studio 3.0, все компоненты обновлены до последней версии (на 19.11.2020)


  • Если подчеркивает красным код, где используются ресурсы: R
  • После внезапного выключения компьютера, после перезапуска может быть во всех проектах весь код красным
  • Если Android Studio выдает приблизительно такую ошибку: Error:Execution failed for task ‘:app:dexDebug’
  • В сообщении об ошибке упоминается heap — виртуальная память
  • Android Studio пришет примерно такую ошибку: Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRIDE environment variable to «83648b99316049d63656d7276cb19cc7e95d70a5»
  • Иногда при подключении сторонних библиотек могут дублироваться некоторые файлы (обычно связанные с лицензированием). В сообщении будет что-то содержащее слова: duplicate files

  • Если при запуске эмулятора сообщение Cannot set up guest memory ‘pc.ram’: Invalid argument — проверьте в настройках эмулятора объем памяти, например установите 512 Мб.
  • Также быстро работает Android x86 в VirtualBox (Есть маркет в android-x86-4.2-20130228.iso)
  • Используйте в названиях файлов и каталогов только символы латинского алфавита.
  • Путь к файлу не должен превышать 256 символов.
  • Не используйте заглавные буквы — «Error:Execution failed for task ‘:app:mergeDebugResources’. Unsupported node ‘item’ in file «\powertool\app\src\main\res\menu\menu.xml» — была из-за заглавной буквы в «Menu» «

Учебники по Android Studio:

Renamed Properties in BuildTypes
runProguard => minifyEnabled
zipAlign => zipAlignEnabled
jniDebugBuild => jniDebuggable
renderscriptDebug => renderscriptDebuggable

Renamed Properties in ProductFlavors
flavorGroups => flavorDimensions
packageName => applicationId
testPackageName => testApplicationId
renderscriptSupportMode => renderscriptSupportModeEnabled
ProductFlavor.renderscriptNdkMode => renderscriptNdkModeEnabled

Т.е. например в build.gradle вместо runProguard false необходимо написать minifyEnabled true

Просьба: если вы автор последнего сообщения — просто редактируйте его, а не добавляйте новое.

Добавляем систему контроля версий Mercurial
Разработчики используют систему Mercurial для администрирования исходного кода. У нее два основных назначения:

  • Она хранит все предыдущие версии каждого файла
  • Она может объединить разные версии вашего кода, то есть сотрудники могут независимо работать над кодом и затем объединять свои изменения

О инсталляции и работе с Mercurial хорошо написано здесь:

  1. Hg Init: Часть 2. Основы Mercurial
  2. Hg Init: Часть 3. Привыкаем работать в команде

Устанавливаем Mercurial, если необходимо добавляем в %PATH% путь (в моем случае D:\Program Files\TortoiseHg\).
Запускаем в консоли из каталога проекта команду hg init — создает репозиторий.
Открываем проект в Android Studio — Studio обнаруживает Mercurial и предлагает добавить (add root).
Пользуемся — правая кнопка на вкладке открытого файла — Mercurial. Здесь те пункты, описанные в статье Hg Init: Часть 2. Основы Mercurial — Pull, Push, Commit и т.д.)


Ошибки:
1. «You are using an old, unsupported version of
Gradle. Please use version 1.Х or greater.

2. Project is using an old version of the Android
Gradle plug-in. The minimum supported
version is 0.Х.X.

Решение О Android Studio

Ошибка Gradle project sync failed error — Решение

В теме нет куратора. Если в теме есть пользователь, желающий стать Куратором и соответствующий Требованиям для кандидатов, он может подать заявку в теме Хочу стать куратором (предварительно изучив шапку темы и все материалы для кураторов).
До назначения куратора, по вопросам наполнения шапки, обращайтесь к модераторам раздела через кнопку под сообщениями, на которые необходимо добавить ссылки.

Сообщение отредактировал Rumlin — 07.03.19, 05:29

Запуск Andro >

В настоящий момент я столкнулся с проблемой, которую не могу разработать в AndroidStudio с использованием Ubuntu 15.10, потому что оба openjdk-7 и openjdk-8 вызывают проблемы.

приводит к тому, что столбец VIRT top Xorg переходит на 25.1G, в то время как использование моей памяти выглядит нормально (используется 3.5 из 8 GB).

, это приводит к разрыву git-cola:

, вызывающий этот визуальный опыт:

Ребята из Arch говорят, что это openjdk-7 утечка памяти:

openjdk-7 issue

При запуске Andro >

Но AndroidStudio падает через некоторое время (часто при показе списка автозаполнения в XML или Java).

Последней причиной сбоя является

Версия AndroidStudio: 1.4.0 и 1.4.1 (бета) OpenJDK8 версия: 1.8.0_66-внутренняя версия OpenJDK7: 1.7.0_85

Я запускал AndroidStudio с использованием openjdk-8 w без проблем с использованием Ubutnu 15.04.

Установка Andro > Инструкции Май 21, 2020 13 admin

Android Studio — это официальная и самая популярная среда для разработки Android приложений. Программа разрабатывается корпорацией Google и содержит все необходимые возможности. Среда основана на IntelliJ IDEA, которая написана на Java, это означает, что среда может работать как в Windows, так и в Linux и MacOS.

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

Установка Android Studio в Ubuntu

Вы можете установить Android Studio и Android SDK несколькими способами: из официального сайта, из PPA репозитория или с помощью umake. Каждый из способов имеет свои преимущества и мы рассмотрим их все, но более подробно остановимся на установке программы из официального сайта.

Как установить Android Studio с официального сайта

Для работы программы в системе должна быть установлена Java машина. Вам нет необходимости добавлять сторонние PPA для ее установки, будет достаточно версии, доступной в официальных репозиториях, но при возникновении проблем вы всегда можете установить Java 8 от Oracle из PPA от webupd8:

sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer


Теперь вам нужно загрузить установщик из официального сайта. Веб-сайт сам определит для какой операционной системы нужно дать файл, в нашем случае Linux.

Когда файл будет загружен, перейдите в папку с загрузками и распакуйте содержимое архива в /opt. Для этого используйте команду:

sudo unzip android-studio-ide-141.2178183-linux.zip -d /opt

Теперь вы можете запустить Android Studio Ubuntu 16.04 из папки /opt:

Но установка Android Studio еще не завершена, программа должна скачать все необходимые компоненты и настройки. В первом окне вас спросят нужно ли импортировать конфигурацию или создать новую:

Далее программа сообщит, что собирается загрузить нужные компоненты и настроить систему.

В одном из следующих диалогов вы можете выбрать нужно ли указать какие компоненты загружать или использовать набор по умолчанию:

Ознакомьтесь со списком компонентов и их расположением:

Далее начнется загрузка, которая может занять достаточно много времени:

Когда загрузка завершится, вы можете нажать Finish и перейти к созданию нового проекта. Но это уже будет рассмотрено в следующей статье. А дальше разберем другие способы установки Android Studio Ubuntu.

Вы также можете захотеть создать ярлык в меню для быстрого доступа. Просто создайте файл

/.local/share/applications/androidstudio.desktop со следующим содержимым:

[Desktop Entry]
Version=1.0
Type=Application
Name=Android Studio
Exec=»/opt/android-studio/bin/studio.sh» %f
Icon=/opt/android-studio/bin/studio.png
Categories=Development;IDE;
Terminal=false
StartupNotify=true
StartupWM >

Установка Android Studio из PPA

Если для вас не критично иметь самую свежую версию программы, то вы всегда можете использовать PPA для ее установки. В некоторых случаях это даже лучше. Как и в предыдущем варианте, в системе уже должна быть установлена Java машина. Чтобы установить Android Studio Ubuntu выполните:

sudo add-apt-repository ppa:paolorotolo/android-studio
$ sudo apt-get update
$ sudo apt-get install android-studio

После выполнения этих команд, как и в предыдущем варианте в папке /opt появятся файлы программы. Для запуска используйте:

Дальше все так, как описано выше.

Установка Android Studio через umake

Утилита umake позволяет устанавливать различные среды программирования и интерпретаторы буквально в несколько команд. Но сначала вам нужно установить саму утилиту, она есть в официальных репозиториях:

sudo apt install ubuntu-make

Затем, для установки Android Studio вам будет достаточно выполнить:

umake android —accept-license

После этого программа будет установлена и готова к работе, вам даже не придется создавать ярлык, он будет доступен сразу из меню.


Выводы

В этой статье мы рассмотрели как выполняется установка Android Studio в Ubuntu 16.04 различными способами. Вы можете выбрать тот способ установки, который лучше всего подходит именно для вас. Если у вас остались вопросы, спрашивайте в комментариях!

Методы лечения различных ошибок в Android Studio при разработке проекта

Сегодня хотел бы поделиться своим анализом и способами лечением разных ошибок при разработке своего продукта в Android Studio. Лично я, не раз сталкивался с различными проблемами и ошибками при компиляции и/или тестировании мобильного приложения. Данный процесс, всегда однообразный и в 99% случаев и всегда нужно тратить n-колличество времени на его устранение. Даже, когда ты уже сталкивался с данной проблемой, ты все равно идешь в поисковик и вспоминаешь, как же решить ту или иную ситуацию.

Я для себя завел файлик, в котором отметил самые частые ошибки — потратив на это несколько часов и перечислил самые популярные ошибки (в дальнейшем планирую просто их запомнить), чтоб сократить свое время в дальнейшем.

Итак, начну по порядку с самой распространенной проблемы и дальше буду перечислять их по мере появления:

1) Если подчеркивает красным код, где используются ресурсы: R. — попробовать (но вероятно не поможет): Build -> Clean Project.

В принципе на Build -> Clean Project можно не терять времени, а лучше всего — слева переключиться на Project, открыть каталог .idea, затем каталог libraries и из него удалить все содержимое. Затем нажать кнопку Sync Project. А затем (если все еще красное, но скорее всего уже будет все ок ) Build -> Clean Project.

2) После внезапного выключения компьютера, после перезапуска может быть во всех проектах весь код красным. Перед этим может быть ошибка: Unable to create Debug Bridge: Unable to start adb server: Unable to obtain result of ‘adb version’. Есть три решения — первое помогло, второе нет (но может быть для другого случая), а третье — не пробовал:

а) File — Invalidate Caches/Restart — Invalidate and Restart

б) Закрыть студию. В корне папки проекта удалить файл(ы) .iml и папку .idea. Вновь запустить студию и импортировать проект.

в) Нажать Ctrl-Alt-O и запустить оптимизацию импорта.

Кстати, adb сервер можно проверить на версию (и работоспособность) и затем перезапустить:

3) Если Android Studio выдает приблизительно такую ошибку: Error:Execution failed for task ‘:app:dexDebug’.

Надо слева переключиться на опцию Project, найти и удалить папку build которая лежит в папке app, т.е. по пути app/build. Затем перестроить весь проект заново: Build -> Rebuild Project.

Такое же решение если ошибка типа: «не могу удалить (создать) папку или файл» и указан путь, который в ведет в app/build. Тоже удаляем папку build и ребилдим проект.

4) В сообщении об ошибке упоминается heap — виртуальная память. А ошибка обычно вызвана ее нехваткой, т.е. невозможностью получить запрашиваемый объем. Поэтому этот запрашиваемый объем надо уменьшить, т.е. переписать дефолтное значение (обычно 2048 MB которое можно изменить в настройках), на меньшее 1024 MB.

В файле проекта gradle.properties пишем:

5) Android Studio пришет примерно такую ошибку: Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRIDE environment variable to «83648b99316049d63656d7276cb19cc7e95d70a5»

Возможные причины (кроме необходимости регулярного обновления SDK):

а) Загруженный проект был скомпилирован с помощью уже несовместимого старого gradle плагина. В этом случае надо найти и подключить в своем build.gradle проекта этот более старый плагин. т.е. попробовать более старые версии, например: 1.1.3 (часто именно 1.1.x и подходит).

Найти все версии можно здесь.

б) Если в build.gradle проекта используется beta-версия плагина — это означает, что срок ее истек. Посмотреть последние релизы (продакшн и бета) можно также здесь:

6) Иногда при подключении сторонних библиотек могут дублироваться некоторые файлы (обычно связанные с лицензированием). В сообщении будет что-то содержащее слова: duplicate files. Решение — надо посмотреть в сообщении об ошибке или в документации подключенной сторонней библиотеки — какие именно файлы стали избыточными, и перечислить их в build.gradle модуля для исключения (exclude) из билда.

Это делается в директиве packagingOptions (которая, в свою очередь, находится в директиве android).


Настраиваем Anbox: как запускать приложения Android в Linux без эмулятора

Содержание статьи

Начнем с того, что Anbox — не эмулятор. Это система запуска полноценной среды Android прямо на текущем ядре Linux с возможностью вывода интерфейса каждого приложения в отдельном окне с поддержкой 3D-ускорения. Нечто вроде Wine, который запускает приложения Windows без необходимости запуска Windows в виртуальной машине, но без присущих Wine глюков и недоработок.

Два главных преимущества Anbox — скорость и бесшовная интеграция с десктопом. Приложения запускаются безо всяких прослоек и эмуляции. А самое главное — они работают быстро. Во второй части мы подробнее рассмотрим, как работает Anbox, а пока установим его и посмотрим, что это такое.

Ставим

В данный момент Anbox поддерживает исключительно процессоры архитектуры x86_64 и дистрибутивы Ubuntu 17.04, 16.10, 16.04, 14.04, а также Linux Mint, Neon и Elementary. Устанавливается либо с помощью самодостаточного пакета формата Snap, либо с помощью скрипта anbox-installer . Но так как оба варианта работают одинаково, а первый менее универсален, рассмотрим только второй.

Ubuntu

Первое, что необходимо сделать, — это загрузить сам скрипт и дать ему права на исполнение:

Далее запускаем скрипт:

Скрипт попросит написать в терминале I AGREE, после чего установит Anbox в систему и предложит перезагрузить машину. После перезагрузки в меню появится пункт Anbox.

Устанавливаем Anbox в Ubuntu

Xakep #246. Учиться, учиться, учиться!

Arch Linux

Anbox можно запустить не только в официально поддерживаемых дистрибутивах, но и в других линуксах, просто собрав его из исходников. Проще всего это сделать в Arch Linux, так как Anbox уже есть в AUR и весь процесс сборки можно автоматизировать.

Установим парочку необходимых для сборки пакетов:

А затем соберем Anbox из AUR. Лучше сделать это с помощью AUR-клиента, такого как pacaur или yaourt:

Далее загрузим необходимые модули ядра:

Запустим container manager:

Запустим session manager:

Готово. Можно кликать по иконке Anbox на рабочем столе или пойти путем джедая и запустить его прямо из терминала:

Пробуем

Сразу после запуска ты увидишь на экране простейший «менеджер приложений», написанный специально для Anbox. Приложений тут кот наплакал: стандартные галерея, календарь, настройки и прочее, а вот маркета нет. И поэтому первое, о чем ты спросишь: а как ставить софт, братан?

И вот здесь начинается интересное. Разработчики Anbox не имеют права включать в поставку своего неэмулятора маркет и любой другой софт Google, в том числе сервисы Google, пока их «устройство» не пройдет сертификацию. Устройство пройти сертификацию не может — маркета не будет.

Но! В Anbox по умолчанию активирован режим отладки с помощью ADB (который в стандартном Android включается в настройках для разработчиков, куда еще надо добраться), поэтому установить приложение можно с его помощью. Установить сам ADB можно так:


А теперь самое интересное: тебе надо найти и скачать пакет APK нужного приложения. Для этого можно использовать сайт apkpure. Далее остается всего лишь выполнить такую команду (пример для FX File Explorer):

FX File Explorer

Готово! Ставь приложения, развлекайся, до встречи. Шучу, на самом деле есть множество подводных камней. Например, сразу после установки Anbox я решил протестировать, как в нем работает Opera Mini, тот самый браузер, который умеет быстро отображать странички, даже если интернет до тебя доходит с помощью голубиной почты. Ведь для десктопа его нет.

В результате на экране появилось вот что:

Объяснение этому простое: большая часть кода Opera Mini написана на C++, который скомпилирован в бинарник для платформы ARM. А так как в нашей машине процессор архитектуры x86_64 , Android заботливо прибил приложение еще на этапе установки, чтобы мы не мучились, силясь понять, почему оно не работает.

На самом деле в маркете полно подобных приложений, и с несовместимостями архитектуры ты будешь встречаться довольно-таки часто.

Вторая интересная особенность запуска приложений в отдельных десктопных окнах: далеко не каждое приложение готово смириться с тем, что сейчас его личико будут жестко сжимать или растягивать. Большинство современных приложений в этом случае поведут себя корректно — Google позаботилась об этом, когда готовилась к реализации поддержки плавающих окон в Android 7.0. А вот со старым софтом могут возникнуть сложности, хотя обычно все заканчивается окном фиксированного размера.

Окна можно делать любых размеров и форм

Ну и третье. Anbox, выражаясь языком Шекспира, — это alpha software, то есть ребята нам как бы говорят: все будет плохо и нестабильно, а о таких вещах, как поддержка определения координат, камера и микрофон, ты можешь забыть. Более того, в некоторых случаях ты можешь забыть и об интернете, а session manager будет время от времени падать, и его придется перезапускать.

Зато! Anbox корректно определяет текущий уровень аккумулятора, размер оперативной памяти и даже жесткого диска (точнее, раздела /home ). Да и в целом работает быстро и не вызывает желания его снести. Количество пожираемой оперативки — всего 448 Мбайт при запущенном менеджере приложений.

Приложения видят весь диск

FAQ первопроходца

Как нажать кнопку «Назад» и мотать страницы?

Кнопка «Назад» эмулируется с помощью Esc. Клавиатуру также можно использовать для навигации по приложению (Tab и стрелки). Промотка либо колесиком, либо удержанием левой кнопки мыши и движением вниз-вверх.

Можно ли использовать Anbox для запуска проектов в Android Studio?

Да! Причем никаких дополнительных шагов для этого предпринимать не надо. Достаточно выбрать устройство с именем вида emulator-6663 при запуске проекта.

Можно ли получить доступ к файловой системе работающего Android из Linux?

Да, она находится в каталоге /var/lib/anbox/rootfs, но доступна только для чтения. Зато ты можешь просматривать содержимое приватных каталогов приложений (data/data).

Можно ли установить магазин приложений?

Теоретическая возможность установить Google Play Store существует. Для этого необходимо разобрать образ файловой системы Android и интегрировать в него GApps. Однако гораздо проще установить Yandex.Store или любой другой сторонний маркет. Плюс активировать установку из сторонних источников: Settings → Security → Unknown sources.

Как разобрать образ Android Anbox?

А можно ли использовать другой образ Android, например CyanogenMod?

Нет. Есть две причины, почему это сделать нельзя. Первая — это должна быть сборка Android для x86_64 . Вторая — эта сборка должна включать в себя специфические модификации Anbox.

Чем Anbox отличается от Shashlik


Shashlik запускает каждое приложение в эмуляторе. Другими словами, когда ты кликаешь по иконке приложения, запускается эмулятор, в нем — урезанная среда Android, а уже потом стартует приложение. Anbox гораздо более легковесный и производительный.

Как оно работает

В основе Anbox лежит очень простая идея: если Android — это виртуальная машина, работающая поверх ядра Linux, то почему бы не попробовать запустить приложения Android в окружении обычного дистрибутива Linux. Это очевидная идея, и она приходила в голову многим разработчикам с тех пор, как появился порт Android на x86. Некоторые программисты попытались реализовать ее через размещение окружения Android в chroot, но дальше полурабочих концептов дело не доходило (пример: ARC Welder).

У разработчиков Anbox ушло полтора года, чтобы довести проект до конца. Они смогли добиться интеграции приложений Android в десктоп Linux, обеспечить практически полную совместимость, а главное — сделать так, чтобы все это работало быстро, без сбоев и не требовало множества шагов для настройки.

Само окружение Android (на базе свежайшего Android 7.1.1, кстати) здесь замкнуто в песочницу, контролируемую с помощью технологии пространств имен (namespaces), той самой, что лежит в основе Docker. Пространства имен полностью отрезают окружение от среды дистрибутива Linux, а вся работа с оборудованием идет через демон anboxd. Для вывода картинки 3D-приложений используется специальный транслятор OpenGL ES → OpenGL, позаимствованный из официального эмулятора Android.

Ядро Linux также пришлось модифицировать, а точнее добавить в комплект Anbox модули с реализацией binder и ashmem, с помощью которых в Android взаимодействуют компоненты системы (IPC). Перед запуском Anbox загружает модули в ядро и добавляет правило udev для установки корректных прав доступа к устройствам /dev/binder и /dev/ashmem .

Каждое приложение в своем собственном окне Anbox размещает с помощью модифицированного композитного менеджера hwcomposer, который Android использует для наложения графических слоев. Hwcomposer запрашивает все слои каждого приложения и отдает их Anbox, который затем формирует индивидуальные окна для отдельно взятых приложений.

Все эти технические решения позволяют сделать Anbox действительно быстрым, удобным в использовании и эффективным в плане расходования ресурсов «эмулятором». В том числе в 3D-приложениях.

Anbox состоит из двух компонентов: container manager и session manager.

Container manager управляет песочницами с работающим внутри окружением Android. Его задача — корректно запустить систему Android, поддерживать ее работу и корректно завершить.

Session manager, в свою очередь, отвечает за коммуникацию Android внутри песочницы и с основной системой Linux. Его задача — отвечать на запросы запуска приложений и распределять их по разным окнам.

В целом запуск приложения Android с помощью Anbox выглядит так:

  1. В ядро загружаются модули binder и ashmem.
  2. Запускается container manager, который разворачивает песочницу с Android внутри.
  3. Запускается session manager, он запускает среду Android.
  4. Юзер отдает команду на запуск приложения, которую принимает и обрабатывает session manager.
  5. Session manager ожидает команды.

Шаги 1–3 подготавливают Anbox и запускаются один раз, обычно при загрузке системы.

Такая архитектура позволяет сделать запуск приложений практически моментальным за счет небольшого (порядка 400 Мбайт) оверхеда по памяти в режиме простоя.

Выводы

Вне всяких сомнений, Anbox заслуживает внимания. Да, у него есть проблемы с совместимостью, он не умеет работать с твоей камерой и микрофоном, он падает. Но это альфа-версия, и для альфы она работает прекрасно.

Евгений Зобнин

Редактор рубрики X-Mobile. По совместительству сисадмин. Большой фанат Linux, Plan 9, гаджетов и древних видеоигр.

Ошибка запуска Andro >

У меня на компьютере Ubuntu 15.10 загружен эмулятор Nexus 6P API23. Когда я пытаюсь запустить его, происходит сбой, и появляется диалоговое окно с сообщением:

(Конфигурация AVD: Nexus 6P API 23 x86 — графическое оборудование-GLES 2.0)

Я пробовал другие AVD, и они не работают.

7 ответов

Вы также можете использовать «Программное обеспечение» в опции «Эмулированная графика производительности», в настройках AVD

У меня была такая же ошибка, как и у вас, и мне удалось найти обходной путь. Надеюсь, это решит и вашу проблему.

Вместо того, чтобы запускать эмулятор из Android Studio, откройте терминал и перейдите в каталог tools вместе с вашим каталогом Android SDK — мой

/Android/Sdk/tools , Оттуда запустите команду:

LD_PRELOAD=’/usr/$LIB/libstdc++.so.6′ DISPLAY=:0 ./emulator -avd

Для получения дополнительной информации о том, почему это работает, перейдите сюда

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

Мой случай: я работаю с Debian Jessie и Android Studio 2.2.3. Моя графическая карта — ATI Radeon HD 6850 от Sapphire.

Эмулятор сообщает, что при загрузке графического драйвера возникла проблема («ошибка libGL: невозможно загрузить драйвер: r600_dri.so«). Как объясняется здесь, похоже, что Google упаковал с Android Studio старую версию одной библиотеки (libstdC++. So.6), и эмулятор не работает, когда он пытается использовать графическую карту.

Решение? Очень просто: использовать системные библиотеки вместо упакованных в Android Studio. Как? Добавление «-use-system-libs» в конце команды. Так:

Окончательное решение (если вы не хотите использовать терминал) состоит в том, чтобы установить ANDROID_EMULATOR_USE_SYSTEM_LIBS переменная окружения до 1 для вашего пользователя / системы. С этим изменением, когда вы запускаете эмулятор в Android Studio, он также загружает системные библиотеки вместо упакованных.

PS — Самый простой способ, который я нашел для установки переменной окружения, это изменить скрипт, запускающий Android Studio (studio.sh, в моем случае он находится внутри / opt / android-stuido / bin), и добавить в начале этого:

ОБНОВЛЕНИЕ Декабрь 2020: У меня была та же проблема с Debian Stretch и Android Studio 3.0.1 (та же графическая карта). Такое же решение работает для меня.

Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих