Ubuntu android studio dev kvm device permission denied

Android Studio: доступ к устройству / dev / kvm запрещен

Когда я пытаюсь запустить приложение Android на эмуляторе, я получаю эту ошибку:

Разрешение / dev / kvm отклонено.

Я проверил разрешения и добавил пользователя, с которым я сейчас нахожусь, в группу kvm. Что не так?

Как уже упоминалось в комментариях, начиная с Ubuntu 18.04 и Linux Mint Tara вам нужно в первую очередь sudo apt install qemu-kvm .

Чтобы проверить право собственности на /dev/kvm использование

Пользователь был root , группа kvm . Чтобы проверить, какие пользователи в kvm группе, используйте

в моей системе: поскольку в финале нет ничего правильного, в группе : нет пользователей kvm .

Чтобы добавить своего пользователя в группу kvm , вы можете использовать

который добавляет пользователя в группу, и проверьте еще раз с grep kvm /etc/group .

Как уже упоминалось @marcolz, команда newgrp kvm должна изменить членство в группе для вас. Если это не сработало, @Knossos упомянул, что вы можете выйти и вернуться (или перезапустить), чтобы разрешения вступили в силу. Или сделайте, как упомянуто @nmirceac, и войдите в ту же оболочку через su — $USER .

Вот так я и начал работать в Ubuntu 18.04

Добавьте своего пользователя в группу kvm, используя:

Если по-прежнему отображается разрешение отклонено :

Попробуйте это, у меня получилось

sudo apt install qemu-kvm

sudo chown -R : /dev/kvm –

Вы также пробовали следующее, это должно работать:

Это потому что /dev/kvm не доступно. Чтобы сделать доступным из Android Studio запустите команду ниже

Он попросит ваш пароль. После этого перезапустите Android Studio.

KVM требуется ром эмулятора. Если вы еще не установили его, установите его

Просто запуск этой единственной команды сработал для меня здесь в сентябре 2019 года:

Выпуск LTS: 18.04

Кодовое название: бионический

Я использую Ubuntu 18.04. Я столкнулся с той же проблемой. Я запускаю эту часть команды в терминале, и проблема решена.

Вышеприведенная команда предназначена для всех пользователей, присутствующих в вашей системе.

Если вы хотите предоставить доступ только определенному пользователю, выполните эту команду

Это краткая версия ответа Герда

откройте терминал и выполните следующие команды

Добавьте следующую строку в открытый файл и сохраните его

Перезагрузите компьютер и готово!

Я столкнулся с той же проблемой, и для решения этой проблемы просто введите следующие команды в терминале для клиентов Linux

и после этого попробуйте запустить симулятор, он будет работать

Нет необходимости устанавливать qemu-kvm (и все его зависимости), если вы хотите запустить только эмулятор Android Studio.

Единственное, что вам нужно сделать, — это предоставить вашему пользователю (то есть тому, с кем вы вошли) право доступа к /dev/kvm -device.

Это делается в три простых шага.

Первый:

Создание kvm -группа

Опция -r создает системную группу, т.е. с GID /etc/login.defs => SYS_GID_MAX )

Во-вторых:

Изменить разрешения на /dev/kvm . Это можно сделать как часть qemu-kvm -installation, потому что устанавливается одна из зависимостей qemu-system-common (в современных системах Ubuntu имя пакета может отличаться), что, в свою очередь, устанавливает файл, /lib/udev/rules.d/60-qemu-system-common.rules содержащий следующее:

Так что, если вы просто создаете файл, /etc/udev/rules.d/60-qemu-permissions.rules содержащий вышеуказанную строку, вы сделали первый шаг.

В третьих:

Добавьте свое имя пользователя в группу, выполнив

usermod -a -G kvm — -a важно для добавления вашего пользователя в kvm-группу. Без этого вы перезапишете групповые настройки для вашего пользователя только на принадлежность к «kvm» .

Чтобы новое правило udev и настройки группы вступили в силу, проще всего перезагрузиться и снова войти в систему.

Вы также можете выполнить

udevadm control —reload-rules && udevadm trigger

для перезагрузки правил, но вам все равно придется выйти и снова войти в систему с учетом новой группы.

Читайте также:  Перестали приходить уведомления viber android

Я использую Linux Debian, и я сталкиваюсь с тем же путем. В моем AVD, показывающем мне сообщение «/ dev / kvm разрешение отказано», и я попытался найти решение, то, что я делаю, чтобы решить это, в терминале типа это:

он предоставит доступ к папке / dev / kvm, затем проверьте еще раз на вашем AVD , сообщение об ошибке исчезнет, ​​надеюсь, это поможет.

Работал на меня.

Только одно небольшое улучшение в ответе Джеррина на исправление этой ошибки в Ubuntu 18.04 с использованием $USER переменной, доступной в терминале bash. Таким образом, вы можете использовать следующие команды две команды:

Добавить текущего пользователя в группу kvm

Также, если у вас все еще есть проблемы, еще одной проблемой для меня был способ, которым я установил Ubuntu. Я сделал ошибку, установив флажок во время установки для установки стороннего программного обеспечения, которое не очень хорошо подходило для моей видеокарты nvidia для разработки. Поэтому я переустановил Ubuntu с неконтролируемым сторонним программным обеспечением .

Затем после установки откройте «Software & Updates» и перейдите на вкладку «Дополнительные драйверы». Выберите самые последние проприетарные драйверы, которые также были протестированы, и внесите изменения. Необходимо перезагрузить машину, чтобы изменения вступили в силу.

Это сработало для меня в Linux (x18) ope Надеюсь, это сработает и у вас

Под Ubuntu разрешения /dev/kvm обычно выглядят так:

Пользователь, который запускает эмулятор Android (т. Е. Ваш пользователь), должен получить доступ к этому устройству.

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

  • Убедитесь, что ваш пользователь входит в группу kvm (требуется изменение имени пользователя после изменения)
  • Расширьте разрешения этого устройства, чтобы у вашего пользователя был доступ (требуется изменение конфигурации демона udev)

Добавить пользователя в KVM Group

Проверьте, входит ли ваш пользователь в группу kvm, например:

Если это не так, добавьте его, например:

После этого изменения вы должны выйти из системы и войти снова, чтобы изменения вступили в силу (проверьте снова с помощью id ).

Расширить разрешения

Кроме того, вы можете просто расширить права доступа к /dev/kvm устройству.

FWIW, это по умолчанию в других дистрибутивах, таких как Fedora и CentOS.

Проверьте эффективность вышеперечисленных команд с другой ls . Вы должны увидеть вывод, похожий тоже:

Большое преимущество: вам не нужно выходить из системы и снова входить в систему, чтобы изменения вступили в силу.

Non-решения

  • вызов chmod и chown прямое включение /dev/kvm — 1) эти изменения не сохраняются после перезагрузок и 2) поскольку /dev/kvm разрешения контролируются демоном udev, он может «исправить» свои разрешения в любое время, например, после каждого запуска эмулятора
  • добавление исполняемых разрешений для /dev/kvm — ваш эмулятор просто требует разрешения на чтение и запись
  • рекурсивное изменение разрешений /dev/kvm — я не знаю, что с этим — похоже на культ груза
  • установка дополнительных пакетов, таких как qemu — у вас уже установлен эмулятор — вам просто нужно получить доступ к /dev/kvm устройству

Откройте Терминал и войдите как администратор

Перейти в папку dev

Изменить режим KVM

Я был в аналогичной ситуации с той же ошибкой прав доступа к / dev / kvm, что я сделал необходимые установки, но не добавил пользователя в группу kvm. Все, что мне нужно было сделать, это

и, конечно же, не забудьте перезапустить свой экземпляр Ubuntu.

В Ubuntu 18.04 я наконец-то исправил это:

Я получил эту ошибку после обновления моей Ubuntu до 18.04.1. Я просто загружаю новый образ системы для эмулятора, или вы можете сказать, что загружаете новый эмулятор, и он работает для меня.

Введите в терминале:

Хотя KVM — это модуль, встроенный в само ядро ​​Linux, это не означает, что все необходимые пакеты включены в вашу установку Ubuntu / Linux по умолчанию. Вам понадобится несколько, чтобы начать, и они могут быть установлены с помощью этой команды в терминале:

Настройте сетевой мост

Чтобы ваши виртуальные машины могли получить доступ к вашему сетевому интерфейсу и были назначены свои собственные IP-адреса, нам необходимо настроить мостовую сеть в нашей системе.

Читайте также:  Как разблокировать экран андроид самсунг

Сначала запустите следующую команду Linux, чтобы узнать, какому имени был присвоен ваш сетевой интерфейс. Знание этого позволит нам выполнить дополнительную настройку позже.

В моем случае сетевой интерфейс называется enp2s0 . Ваш, вероятно, будет очень похожим именем.

Чтобы сообщить Ubuntu, что мы хотим, чтобы наше соединение было мостовым, нам нужно отредактировать файл конфигурации сетевых интерфейсов. Это никак не повлияет на ваше соединение. Это только позволит этому соединению быть разделенным с виртуальными машинами.

Используйте code (Visual Studio Code) или ваш любимый текстовый редактор, чтобы открыть следующий файл:

Когда вы впервые открываете этот файл, он может быть пустым или содержать всего пару строк. Интерфейс вашего моста называется br0 , поэтому добавьте следующую строку, чтобы интерфейс появился по умолчанию:

Под этой строкой добавьте следующую строку для вашего текущего сетевого интерфейса (тот, кого вы назвали ранее).

Далее вы можете добавить информацию о мосте. Эти строки сообщают Ubuntu, что ваш мост будет использовать DHCP для автоматического назначения IP-адресов, а ваш мост будет управлять вашим текущим интерфейсом.

Вот как должен выглядеть ваш файл после того, как все изменения были применены (если у вас также есть пара строк, которые уже были там, хорошо иметь их тоже):

Сохраните ваши изменения и выйдите из файла.

Добавьте своего пользователя в группы

Чтобы управлять вашей виртуальной машиной (-ами) без прав root, ваш пользователь должен принадлежать к двум группам пользователей. Выполните следующие команды, чтобы добавить вашего пользователя в соответствующие группы (заменив user1 именем вашего пользователя):

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

Источник

Ubuntu Documentation

Content Cleanup Required
This article should be cleaned-up to follow the content standards in the Wiki Guide. More info.

Installation

Pre-installation checklist

Check that your CPU supports hardware virtualization

To run KVM, you need a processor that supports hardware virtualization. Intel and AMD both have developed extensions for their processors, deemed respectively Intel VT-x (code name Vanderpool) and AMD-V (code name Pacifica). To see if your processor supports one of these, you can review the output from this command:

If 0 it means that your CPU doesn’t support hardware virtualization.

If 1 or more it does — but you still need to make sure that virtualization is enabled in the BIOS.

By default, if you booted into XEN kernel it will not display svm or vmx flag using the grep command. To see if it is enabled or not from xen, enter:

You must see hvm flags in the output.

Alternatively, you may execute:

which may provide an output like this:

You can still run virtual machines, but it’ll be much slower without the KVM extensions.

NOTE: You may see a message like «KVM acceleration can/can NOT be used». This is misleading and only means if KVM is *currently* available (i.e. «turned on»), *not* if it is supported.

Use a 64 bit kernel (if possible)

Running a 64 bit kernel on the host operating system is recommended but not required.

To serve more than 2GB of RAM for your VMs, you must use a 64-bit kernel (see 32bit_and_64bit). On a 32-bit kernel install, you’ll be limited to 2GB RAM at maximum for a given VM.

  • Also, a 64-bit system can host both 32-bit and 64-bit guests. A 32-bit system can only host 32-bit guests.
  • To see if your processor is 64-bit, you can run this command:

    If 0 is printed, it means that your CPU is not 64-bit.

    If 1 or higher, it is. Note: lm stands for Long Mode which equates to a 64-bit CPU.

    Now see if your running kernel is 64-bit, just issue the following command:

    Читайте также:  Оффлайн навигатор для андроид с картами gps

    x86_64 indicates a running 64-bit kernel. If you use see i386, i486, i586 or i686, you’re running a 32-bit kernel.

    Note: x86_64 is synonymous with amd64.

    Installation of KVM

    Install Necessary Packages

    For the following setup, we will assume that you are deploying KVM on a server, and therefore do not have any X server on the machine.

    You need to install a few packages first:

    Cosmic (18.10) or later

    Lucid (10.04) or later

    Karmic (9.10) or earlier

    libvirt-bin provides libvirtd which you need to administer qemu and kvm instances using libvirt

    qemu-kvm (kvm in Karmic and earlier) is the backend

    ubuntu-vm-builder powerful command line tool for building virtual machines

    bridge-utils provides a bridge from your network to the virtual machines

    You might also want to install virt-viewer, for viewing instances.

    Add Users to Groups

    Karmic (9.10) and later (but not 14.04 LTS and 18.10)

    You need to ensure that your username is added to the group libvirtd:

    After this, you need to relogin so that your user becomes an effective member of the libvirtd group. The members of this group can run virtual machines. (You can also ‘newgrp kvm’ in a terminal, but this will affect only that terminal.)

    Bionic (18.04 LTS) and higher

    The group name is changed to libvirt, and you also need to be a member of ‘kvm’:

    Releases prior to Karmic (9.10)

    You need to ensure that your username is added to the groups: kvm and libvirtd.

    To add your to the groups:

    After the installation, you need to relogin so that your user becomes an effective member of kvm and libvirtd user groups. The members of this group can run virtual machines.

    Verify Installation

    You can test if your install has been successful with the following command:

    If on the other hand you get something like this:

    Something is wrong (e.g. you did not relogin) and you probably want to fix this before you move on. The critical point here is whether or not you have write access to /var/run/libvirt/libvirt-sock.

    The sock file should have permissions similar to:

    Also, /dev/kvm needs to be in the right group. If you see:

    You might experience problems when creating a virtual machine. Change the device’s group to kvm/libvirtd instead:

    Now you need to either relogin or restart the kernel modules:

    Optional: Install virt-manager (graphical user interface)

    If you are working on a desktop computer you might want to install a GUI tool to manage virtual machines.

    Virtual Machine Manager will appear in Applications -> System Tools menu. First create a new connection to local QEMU instance from File -> Add Connection menu. Localhost (QEMU) or QEMU/KVM should appear in the virtual machine list. Note: there already exist Localhost (QEMU Usermode) connection but this does not work at least on Ubuntu 10.04.

    Create a new virtual machine by pressing the top left Create a new virtual machine toolbar button.

    Version-specific Notes

    8.10 (Intrepid) Notes

    Two meta packages have been added: ubuntu-virt-server and ubuntu-virt-mgmt. Ubuntu-virt-server installs the packages needed to setup a base virtulization host (kvm, libvirt-bin and openssh-server) and ubuntu-virt-mgmt installs what you need to administer it from a management station (virt-manager, python-vm-builder and virt-viewer).

    ubuntu-vm-builder has been replaced by python-vm-builder (tutorial).

    Note: libdevmapper does not load its module when it is installed (bug 277648) , so you will either need to do a

    or reboot your system before being able to use it.

    11.10 (Oneric) Notes

    Switching to the server kernel might be helpful if there are start problems with virtual machines (i.e. Windows XP freezes approximately once every 5 starts )

    KVM/Installation (последним исправлял пользователь hamishmb 2020-03-23 20:00:34)

    The material on this wiki is available under a free license, see Copyright / License for details
    You can contribute to this wiki, see Wiki Guide for details

    Источник

    Оцените статью