当我尝试在模拟器上运行我的Android应用程序时,我得到这个错误:

/dev/kvm权限被拒绝。

我检查了权限,并将我当前登录的用户添加到kvm组。怎么了?


当前回答

以下是我所做的:

user@user:~$ whoami

安东尼奥

sudo apt install qemu-kvm

sudo adduser antonio kvm

sudo chown antonio /dev/kvm

最后但同样重要的

Android工作室 select File ->重启IDE

要应用更改

然后创建模拟器

其他回答

如果你只想运行Android Studio模拟器,完全没有必要安装qemu-kvm(及其所有依赖项)。

您需要做的唯一一件事就是赋予您的用户(即您登录的用户)访问/dev/kvm-设备的权限。

这需要三个简单的步骤。

第一:

创建kvm-group

Groupadd -r KVM

选项-r创建一个系统组,即GID <= 999(参见/etc/login.defs => SYS_GID_MAX)

第二:

修改/dev/kvm的权限这可以作为qemu-kvm-安装的一部分来完成,因为其中一个依赖项是安装qemu-system-common(在当前的Ubuntu系统上,包名可能会有所不同),它会依次安装文件/lib/udev/rules.d/60-qemu-system-common.rules,其中包含以下内容:

KERNEL=="kvm", GROUP="kvm", MODE="0660"

因此,如果您只是创建一个包含上述一行的文件/etc/udev/rules.d/60-qemu-permissions.rules,那么您就完成了第一步。

第三:

通过执行将您的用户名添加到组中

usermod -a -g kvm <your_username> - -a对于将用户添加到kvm-group很重要。否则,您将覆盖组设置为您的用户只属于“kvm”…

就是这样。

为了使新的udev规则和组设置生效,重新启动并再次登录是最容易的。

你也可以执行

Udevadm控件—reload-rules && Udevadm触发器

用于重新加载规则,但您仍然必须注销,并再次登录关于新组。

对于Jerrin在Ubuntu 18.04中通过使用bash终端中的$USER变量来修复这个错误的回答,只有一个轻微的改进。所以你可以使用以下命令两个命令:

sudo apt install qemu-kvm

将当前用户加入kvm组

sudo adduser $USER kvm

如果你仍然有问题,另一个问题是我安装Ubuntu的方式。我在安装过程中错误地勾选了安装第三方软件的方框,这与我的nvidia显卡开发不太匹配。所以我重新安装了Ubuntu,没有检查这个第三方软件。

安装完成后,打开“软件和更新”,进入“附加驱动程序”选项卡。选择最新的、也经过测试的专有驱动程序,并应用更改。应重新启动计算机以使更改生效。

如果你用sudo打开你的ide。你不会遇到这个问题。

这里有一个简单的解决办法

打开终端,执行以下命令

sudo groupadd -r kvm

sudo gedit /lib/udev/rules.d/60-qemu-system-common.rules

在打开的文件中添加以下行并保存它

KERNEL==“kvm”, GROUP=“kvm”, MODE=“0660”

最后运行:

sudo usermod -a -G kvm <your_username>

重启你的电脑,完成!

使用该命令提供适当的权限

sudo chmod 777 -R /dev/kvm