Używam Ubuntu Server VPS z 4 dedykowanymi rdzeniami i 4 GB lub RAM
lsb_release -a
mówi, że biegnę
Description: Ubuntu 14.04.5 LTS
Codename: trusty
Zainstalowałem Android Studio 3.0.1. Mniej więcej śledziłem ten samouczek, ale mam najnowszą wersję. instalacja płynnie.
Następnie zainstalowałem xrdp i xfce4 i nie mam żadnych problemów ze zdalnymi połączeniami
Uruchamiam Android Studio za pomocą następującego polecenia z okna podwyższonego terminala w rdp
sudo ~/bin/android-studio/bin/studio.sh
polecenie wydaje
Error parsing gtk-icon-sizes string: ''
ale studio Android działa dobrze i pozwala mi tworzyć projekty i kod, więc próbowałem skompilować aplikację hello world i uruchomić ją w ADV po utworzeniu wirtualnego telefonu z Androidem i próbie uruchomienia, pojawia się następujący błąd
KVM is required to run this AVD.
/dev/kvm device: permission denied
Grant current user access to /dev/kvm
Uciekłem
usermod -aG kvm *username*
usermod -aG libvirtd *username"
adduser *username* kvm
adduser *username* libvirtd
adduser *username* xrdp
chmod +x /dev/kvm
chown *username* /dev/kvm
chmod -R 777 /dev/kvm
Ponownie uruchomiłem VPS po każdym poleceniu i nadal otrzymuję błąd odmowy uprawnień KVM
Kiedy biegnę
sudo kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used
Jeśli jednak po prostu ucieknę
kvm-ok
bash: kvm-ok: command not found
Próbuję to rozgryźć od wielu godzin i znalazłem tylko rzeczy, które mówią mi, żebym dodał użytkownika do grup kvm i / lub libvirtd, każda pomoc byłaby bardzo mile widziana.
Aktualizacja:
Patrząc na to trochę więcej
cat /proc/cpuinfo | grep 'name'| uniq
model name : Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
więc pobiegłem
sudo modprobe kvm-intel
modprobe: ERROR: ../libkmod/libkmod.c:507kmod_lookup_alias_from_builtin_file()
could not open builtin file '/lib/modules/3.13.0/modules.builtin.bin'
to doprowadziło mnie do próby
depmod -a
depmod: WARNING: could not open /lib/modules/3.13.0/modules.order: No such file or directory
depmod: WARNING: could not open /lib/modules/3.13.0/modules.builtin: No such file or directory
oto out out ls -al /lib/modules/3.13.0/
drwxr-xr-x 2 root root 4096 Dec 12 01:08 .
drwxr-xr-x 5 root root 12288 Dec 11 18:11 ..
-rw-r--r-- 1 root root 45 Dec 12 01:08 modules.alias
-rw-r--r-- 1 root root 12 Dec 12 01:08 modules.alias.bin
-rw-r--r-- 1 root root 0 Dec 12 01:08 modules.builtin.bin
-rw-r--r-- 1 root root 0 Dec 12 01:08 modules.dep
-rw-r--r-- 1 root root 12 Dec 12 01:08 modules.dep.bin
-rw-r--r-- 1 root root 52 Dec 12 01:08 modules.devname
-rw-r--r-- 1 root root 131 Dec 12 01:08 modules.softdep
-rw-r--r-- 1 root root 49 Dec 12 01:08 modules.symbols
-rw-r--r-- 1 root root 12 Dec 12 01:08 modules.symbols.bin
więc myślałem, że wystąpił błąd z moim obrazem linuksowym, ale
sudo apt-get install linux-generic
Reading state information... Done
linux-generic is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
nie jestem pewien, co naprawić, ale myślę, że przynajmniej zbliżam się do rozwiązania problemu
źródło
Odpowiedzi:
Miałem ten błąd z Android Studio 3.0.1 na Ubuntu 18.04, kiedy uruchamiam emulator. Możesz wypróbować tę odpowiedź . Aby dodać nazwę użytkownika do grupy kvm, możesz użyć:
W moim przypadku zadziałało, choć po całym procesie wymagane jest ponowne logowanie.
źródło
odpowiedź jest za późna, może pomóc innym użytkownikom.
1.I próbowałem:
sudo setfacl -m u:UserName:rwx /dev/kvm
. i to działa.2. w studio Android musisz zmienić: narzędzia> menedżer avd> (wybierz pióro, aby edytować urządzenie i zmienić „grafikę” z automatycznej na programową), aby uniknąć błędu rysowania emulatora
źródło
Działa to dla Ubuntu 18.04:
Otwórz terminal i wpisz następujące polecenie
sudo setfacl -m u:$USER:rwx /dev/kvm
Uruchom ponownie Android Studio.
źródło
Upewnij się, że wirtualizacja jest włączona w systemie BIOS. Dodaj swoją nazwę użytkownika do właściwości grupy:
pozwól użytkownikowi na dostęp / zapis do urządzenia / dev / kvm:
to jest to!
źródło
chmod -R 777 /dev/kvm
więc czuję, że to zadziałałoby, niezależnie od tego, że VPS już nie istnieje i nie mogę go przetestować.