Podczas próby uruchomienia aplikacji na Androida na emulatorze pojawia się następujący błąd:
Odmowa dostępu / dev / kvm.
Sprawdziłem uprawnienia i dodałem użytkownika, z którego jestem aktualnie zalogowany, do grupy kvm. Co jest nie tak?
źródło
Podczas próby uruchomienia aplikacji na Androida na emulatorze pojawia się następujący błąd:
Odmowa dostępu / dev / kvm.
Sprawdziłem uprawnienia i dodałem użytkownika, z którego jestem aktualnie zalogowany, do grupy kvm. Co jest nie tak?
Jak wspomniano w komentarzach, począwszy od Ubuntu 18.04 i Linux Mint Tara , musisz najpierw sudo apt install qemu-kvm
.
Aby sprawdzić własność /dev/kvm
użytkowania
ls -al /dev/kvm
Użytkownik był root
grupą kvm
. Aby sprawdzić, którzy użytkownicy są w kvm
grupie, użyj
grep kvm /etc/group
To wróciło
kvm:x:some_number:
w moim systemie: ponieważ nie ma nic sprawiedliwego w finale :
, w kvm
grupie nie ma użytkowników .
Aby dodać użytkownika do grupy kvm , możesz użyć
sudo adduser $USER kvm
który dodaje użytkownika do grupy i ponownie sprawdza za pomocą grep kvm /etc/group
.
Jak wspomniano w @marcolz, polecenie newgrp kvm
powinno zmienić dla Ciebie członkostwo grupy na żywo. Jeśli to nie zadziałało, @Knossos wspomniał, że możesz się wylogować i ponownie zalogować (lub uruchomić ponownie), aby uprawnienia zaczęły obowiązywać. Lub wykonaj jak wspomniano @nmirceac i ponownie zaloguj się w tej samej powłoce za pośrednictwem su - $USER
.
qemu-kvm
i dodaniu mojego użytkownika do grupykvm
nie działało. Ale stało się to po ponownym uruchomieniu komputera (Ubuntu 18.04).root
i grupa byłaroot
. Czy powinniśmy zmienić jego grupę?sudo adduser $USER kvm
sudo chown $USER /dev/kvm
Tak mam go uruchomić w Ubuntu 18.04
Dodaj użytkownika do grupy kvm, używając:
Jeśli nadal wyświetla się odmowa dostępu :
Spróbuj.
źródło
/dev/kvm/
folderu. zamiast tego należy dodać użytkownika dokvm
grupy, jak w tej odpowiedzi: stackoverflow.com/a/45749003/1213934Spróbuj, to zadziałało dla mnie:
sudo apt install qemu-kvm
sudo chown -R <username>:<username> /dev/kvm –
źródło
chown
- dodaj swoją nazwę użytkownika do odpowiednich grup - kvm lub libvirt. Zobacz dokumentację dla [ help.ubuntu.com/community/KVM/Installation](Ubuntu) .–
sufiksem? To z pewnością powoduje błąd.Czy próbowałeś również wykonać następujące czynności, powinno działać:
źródło
chmod o+x
jest całkowicie bezużyteczne. Pierwsze polecenie sprawia, że działa - ale zobacz moje inne komentarze w dół, dlaczego jest to zły pomysł./dev/kvm
. Nie chodzi tylko o to, że nie będzie się utrzymywać między restartami / aktualizacjami systemu. Wymusza również silną modyfikację ustawień systemu. Nie zbliżaj się.Jest tak, ponieważ
/dev/kvm
nie jest dostępny. Aby to zrobić było dostępne w Android Studio, uruchom poniższe poleceniePoprosi o twoje hasło. Następnie uruchom ponownie Android Studio.
KVM
jest wymagany do emulatora rumu. Jeśli jeszcze go nie zainstalowałeś, zainstaluj goźródło
-R
) zmieniasz uprawnienia do jednego pliku urządzenia? Ponadto uprawnienia do wykonywania są zbędne. Wreszcie, udev może dostosować uprawnienia po każdym uruchomieniu emulatora.Po prostu uruchomienie tego polecenia działało dla mnie tutaj we wrześniu 2019 roku:
źródło
/dev/kvm
trakcie działania.Używam Ubuntu 18.04. Miałem ten sam problem. Uruchomiłem tę komendę w terminalu i problem został rozwiązany.
powyższe polecenie dotyczy wszystkich użytkowników obecnych w systemie.
Jeśli chcesz dać dostęp tylko określonemu użytkownikowi, uruchom to polecenie
źródło
To jest wersja krótka od Gerd odpowiedź
otwórz terminal i uruchom następujące polecenia
Dodaj następujący wiersz do otwartego pliku i zapisz go
Wreszcie uruchom:
Uruchom ponownie komputer i gotowe!
źródło
/lib/udev/rules.d
. Udev ma mechanizm nakładania, w którym umieszczona konfiguracja/etc/udev/rules.d
ma pierwszeństwo przed dostępną pod/lib/udev/rules.d
.Rozwiązałem ten sam problem i aby go rozwiązać, po prostu wpisz następujące polecenia w terminalu dla klientów Linux
a potem spróbuj uruchomić symulator, to zadziała
źródło
Absolutnie nie ma potrzeby instalowania
qemu-kvm
(i wszystkich jego zależności), jeśli chcesz uruchomić tylko emulator Android Studio.Jedyne, co musisz zrobić, to dać swojemu użytkownikowi (tj. Logującemu się) prawo dostępu do niego
/dev/kvm
.Odbywa się to w trzech prostych krokach.
Pierwszy:Tworzenie
kvm
-GROUPgroupadd -r kvm
Opcja
Druga:-r
tworzy grupę systemową, tj. Z GID <= 999 (patrz/etc/login.defs
=>)SYS_GID_MAX
)Zmień uprawnienia na
/dev/kvm
. Można to zrobić w ramach instalacjiqemu-kvm
, ponieważ instaluje się jedną z zależnościqemu-system-common
(w obecnych systemach Ubuntu nazwa pakietu może się różnić), co z kolei instaluje plik/lib/udev/rules.d/60-qemu-system-common.rules
zawierający następujące elementy:Więc jeśli właśnie tworzysz plik
Trzeci:/etc/udev/rules.d/60-qemu-permissions.rules
zawierający powyższą linię, to koniec pierwszego kroku.Dodaj swoją nazwę użytkownika do grupy, wykonując
usermod -a -G kvm <your_username>
--a
jest ważne przy dodawaniu użytkownika do grupy kvm. Bez tego zastąpisz ustawienia grupy dla użytkownika, który należy tylko do „kvm” ...Otóż to.
Aby nowa reguła udev i ustawienie grupy zaczęły obowiązywać, najłatwiej jest ponownie uruchomić komputer i zalogować się ponownie.
Możesz także wykonać
udevadm control --reload-rules && udevadm trigger
za ponowne załadowanie reguł, ale nadal musisz się wylogować i zalogować ponownie w odniesieniu do nowej grupy.
źródło
Używam Debiana z Linuksem i patrzę w ten sam sposób. W moim AVD pokazuje mi komunikat „Odmowa zezwolenia / dev / kvm” i próbowałem znaleźć rozwiązanie, to co robię, aby to rozwiązać, w terminalu wpisz to:
przyzna dostęp do folderu / dev / kvm, a następnie sprawdzi ponownie AVD , komunikat o błędzie zniknie, mam nadzieję, że pomoże.
źródło
Pracował dla mnie.
źródło
chown
przykłady tutaj, ale pominąłbymx
uprawnienia.Tylko jedna drobna poprawa w odpowiedzi Jerrina na naprawienie tego błędu w Ubuntu 18.04 poprzez wykorzystanie
$USER
zmiennej dostępnej w terminalu bash. Więc możesz użyć następujących poleceń dwa polecenia:Dodaj bieżącego użytkownika do grupy kvm
Również jeśli nadal masz problemy, jednym z problemów był sposób, w jaki zainstalowałem Ubuntu. Popełniłem błąd, zaznaczając pole podczas instalacji, aby zainstalować oprogramowanie innej firmy, które nie działało ładnie z moją kartą graficzną NVIDIA do programowania. Ponownie zainstalowałem Ubuntu z niezaznaczonym oprogramowaniem innych firm .
Następnie po instalacji otwórz Oprogramowanie i aktualizacje i przejdź do karty Dodatkowe sterowniki. Wybierz najbardziej aktualne zastrzeżone sterowniki, które również zostały przetestowane i zastosuj zmiany. Powinien ponownie uruchomić komputer, aby zmiany odniosły skutek.
źródło
To działało dla mnie w systemie Linux (x18) ☑ Mam nadzieję, że to zadziała również dla ciebie
źródło
W systemie Ubuntu uprawnienia
/dev/kvm
zwykle wyglądają tak:Użytkownik korzystający z emulatora Androida (tj. Użytkownik) musi uzyskać dostęp do tego urządzenia.
Tak więc istnieją zasadniczo 2 sposoby uzyskania dostępu:
Dodaj użytkownika do grupy KVM
Sprawdź, czy użytkownik jest już częścią grupy kvm, np .:
Jeśli nie, to dodaj go np .:
Po tej zmianie musisz się wylogować i zalogować ponownie, aby zmiana grupy była skuteczna (sprawdź ponownie za pomocą
id
).Poszerz uprawnienia
Alternatywnie możesz po prostu rozszerzyć uprawnienia
/dev/kvm
urządzenia.Przykład:
FWIW, jest to ustawienie domyślne w innych dystrybucjach, takich jak Fedora i CentOS.
Sprawdź skuteczność powyższych poleceń za pomocą innego
ls
. Powinieneś zobaczyć również podobny wynik:Duża zaleta: nie trzeba się wylogowywać i logować ponownie, aby zmiana była skuteczna.
Brak rozwiązań
chmod
ichown
bezpośrednio/dev/kvm
- 1) zmiany te nie są trwałe po ponownym uruchomieniu komputera i 2) ponieważ/dev/kvm
uprawnienia są kontrolowane przez demona udev, może „naprawić” swoje uprawnienia w dowolnym momencie, np. po każdym uruchomieniu emulatora/dev/kvm
- emulator wymaga jedynie odczytu i zapisu/dev/kvm
- nie wiem, o co chodzi - wygląda na kult ładunku/dev/kvm
urządzeniaźródło
Otwórz terminal i zaloguj się jako administrator
Przejdź do folderu deweloperów
Zmień tryb kvm
źródło
cd /dev
zamiast sudo.chmod
się-R
? Rekurencyjna zmiana uprawnień do pliku pojedynczego urządzenia/dev/kvm
nie wydaje się zbyt przydatna. Ponadto uprawnienia do wykonywania są zbędne na tym urządzeniu. Wreszcie udev może ponownie dostosować/dev/kvm
uprawnienia po każdym uruchomieniu. Dlatego ta metoda nie jest bardzo skuteczna.Byłem w podobnej sytuacji z tym samym błędem uprawnień na / dev / kvm. Wykonałem niezbędne instalacje, ale nie dodałem użytkownika do grupy kvm. Musiałem tylko
i oczywiście NIE zapomnij zrestartować instancji Ubuntu.
źródło
Ostatecznie naprawiłem to dla Ubuntu 18.04:
źródło
Otrzymałem ten błąd po aktualizacji mojego Ubuntu do 18.04.1. Właśnie pobrałem nowy obraz systemu dla emulatora lub możesz powiedzieć, że pobrałem nowy emulator i to działa dla mnie.
źródło
/dev/kvm
uprawnieniami.Wpisz terminal:
źródło
Chociaż KVM jest modułem wbudowanym w samo jądro Linuksa, nie oznacza to, że wszystkie niezbędne pakiety są domyślnie zawarte w instalacji Ubuntu / Linux. Będziesz potrzebował kilku, aby rozpocząć, a można je zainstalować za pomocą tego polecenia w terminalu:
Skonfiguruj most sieciowy
Aby Twoje maszyny wirtualne miały dostęp do interfejsu sieciowego i miały przypisane własne adresy IP, musimy skonfigurować mostkowanie sieci w naszym systemie.
Najpierw uruchom następującą komendę Linux, aby dowiedzieć się, jaką nazwę ma przypisany interfejs sieciowy. Wiedząc o tym, możemy później dokonać dodatkowej konfiguracji.
W moim przypadku wywoływany jest interfejs sieciowy
enp2s0
. Twoja prawdopodobnie będzie bardzo podobnie nazywana.Aby poinformować Ubuntu, że chcemy, aby nasze połączenie było mostkowane, musimy edytować plik konfiguracyjny interfejsów sieciowych. Zrobienie tego nie wpłynie negatywnie na twoje połączenie. Umożliwi to udostępnienie tego połączenia maszynom wirtualnym.
Użyj
code
(Visual Studio Code) lub ulubionego edytora tekstu, aby otworzyć następujący plik:Po pierwszym otwarciu ten plik może być pusty lub zawierać tylko kilka wierszy. Wywoływany jest interfejs mostka
br0
, więc dodaj następujący wiersz, aby interfejs pojawił się domyślnie:Poniżej tego wiersza dodaj następujący wiersz dla bieżącego interfejsu sieciowego (tego, który nazwał cię wcześniej).
Następnie możesz dodać informacje o pomoście. Linie te informują Ubuntu, że twój most będzie używał DHCP do automatycznego przypisywania adresu IP, a twój most będzie zarządzał twoim bieżącym interfejsem.
Tak powinien wyglądać twój plik po zastosowaniu wszystkich zmian (jeśli masz też kilka linii, które już tam były, dobrze też je mieć):
Zapisz zmiany i zamknij plik.
Dodaj użytkownika do grup
Aby zarządzać maszynami wirtualnymi bez uprawnień administratora, użytkownik musi należeć do dwóch grup użytkowników. Uruchom następujące polecenia, aby dodać użytkownika do odpowiednich grup (zastępując użytkownika 1 nazwą użytkownika):
Po zakończeniu należy ponownie uruchomić system, aby mieć pewność, że wszystkie zmiany wprowadzone w konfiguracji użytkownika i sieci będą miały zastosowanie.
źródło
libvirt
ma potrzeby konfigurowania interfejsów ...Aby utworzyć urządzenie wirtualne w systemie Linux - muszę wykonać tę trzy komendę i pomaga mi to uniknąć problemów z budowaniem urządzeń AVD - proces polega na -
więc teraz możesz zacząć, ponownie uruchomić studio Android i rozpocząć tworzenie aplikacji za pomocą emulatora.
źródło
Podaj odpowiednie uprawnienia za pomocą tego polecenia
źródło
Uruchomienie poniższego polecenia w Ubuntu 18.04 działało dla mnie sudo chown -R / dev / kvm
źródło
/dev/kvm
plik-R
nie ma żadnego efektu --- Po trzecie:chown
wymaganew owner
argumentu --- Po czwarte: Po ponownym uruchomieniu musisz to robić raz za razem.Jeśli otworzysz swój ide za pomocą sudo. Nie będziesz mieć tego problemu.
źródło