2016-10-26 49 views
8
  1. Używam systemu Windows 10, 64-bitowego, Android Studio 2.2.2. Podczas tworzenia AVD z Menedżera AVD Android SDK, nie widzę opcji całkowitego wyłączenia dźwięku (wejścia i wyjścia). Używam Androida SDK z wersją narzędzia Android Tools 25.2.2). W starszym menedżerze AVD pamiętam, że dostępna była opcja całkowitego wyłączenia dźwięku na AVD.
  2. Kiedy chcę utworzyć skrypt wsadowy, aby uruchomić z -noaudio opcji, jak wspomniano w oficjalnej Control the Emulator from the Command Line stronę Google, biegnę polecenia jako emulator.exe -avd Nexus_4 -noaudio, ale wyrzuca błąd

qemu-system-i386.exe: -audio: invalid optionUruchamianie emulatora Androida z opcją -noaudio zwraca "qemu-system-i386.exe: -audio: nieprawidłowa opcja"

  1. Otworzy się okno dialogowe Android Emulator, z nieokreślonym paskiem postępu, a AVD w ogóle się nie uruchamia. Zachowuje ładowanie na zawsze.

Każda pomoc jest doceniana.

Odpowiedz

8

Testowałem to na Linuksie. (W przypadku uwag okien kasowych lub @Tekk odpowiedź)
Jeśli nie chcesz dźwięku wystarczy użyć:

export QEMU_AUDIO_DRV=none && emulator -avd Nexus_4 

TL; DR

Quote from here

oparciu o niektóre kopanie wokół, to Wygląda na to, że QEMU2 usunął możliwość całkowitego wyłączenia dźwięku - możesz określić kartę dźwiękową, przez którą przechodzi dźwięk, ale nie możesz jej całkowicie wyłączyć. Flaga "-audio" została zastąpiona przez "-soundhw", która pozwala nam określić, której karty dźwiękowej użyć.

QEMU1 (użycie flagi linii poleceń emulatora "-inine classic") działa po przekazaniu "-noaudio"), ale przekazanie "-soundhw none" do QEMU2 również nie powiedzie się.

Rozwiązanie:

Post about emulated audio devices

Na Linuksie jeśli chcę brzmieć używam:

export QEMU_AUDIO_DRV=pa && emulator.orig -avd Nexus_S_api_23 

To działa dobrze. Również nie mam 100% użycia procesora

My snippet:

#!/bin/bash 
# http://stackoverflow.com/a/35822173/1052261 
# http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in 

SOURCE="${BASH_SOURCE[0]}" 
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink 
    DIR="$(cd -P "$(dirname "$SOURCE")" && pwd)" 
    SOURCE="$(readlink "$SOURCE")" 
    [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located 
done 
DIR="$(cd -P "$(dirname "$SOURCE")" && pwd)" 

#echo "DIR is '$DIR'" 
#If you want audio pass QEMU_AUDIO_DRV=pa -> https://www.wagner.pp.ru/fossil/vws/wiki?name=QEMU+audio 
export QEMU_AUDIO_DRV=none && $DIR/emulator.orig -use-system-libs "[email protected]" -qemu -m 512 -enable-kvm 

Wystarczy wymienić Android-sdk/tools/emulator do Android-sdk/tools/emulator.orig Następnie należy utworzyć skrypt z powyższego źródła w Android-sdk/tools/emulator (Zezwalaj dla realizacji).

Pamiętaj czasami kiedy android sdk uaktualni usunie ten skrypt;)

+1

Dzięki za odpowiedź! Zamiast 'exportu 'musiałem użyć polecenia' set' na Windows 10, również '&&' nie działało, więc uruchomiłem tylko te dwa polecenia ** 'set QEMU_AUDIO_DRV = none', a następnie' emulator - avd Nexus_4' i może potwierdzić, że dźwięk jest teraz naprawdę wyłączony w QEMU. Również problemy, takie jak 40-100% drenażu CPU, po kilku godzinach bezczynności emulatora zniknęły. – Tekk

+0

@Tekk, więc może zaakceptować odpowiedź :)? Thx :) –

+1

Przepraszam, po długim czasie wróciłem do tego i na pewno przyjąłem twoją odpowiedź! Wielkie dzięki, bardzo pomocne. – Tekk

1

Dzięki odpowiedź @Dawid Drozda, I utworzeniu skryptu wsadowego Windows, który będzie działał AVD bez dźwięku wejścia/wyjścia. Po prostu nadaj skryptowi parametr nazwy AVD.

Sztuką jest uruchomienie set QEMU_AUDIO_DRV=none przed wykonaniem AVD.

@echo off 
if "%1"=="" goto usage 
set QEMU_AUDIO_DRV=none 
@echo Running AVD "%1" without sound... 
@echo. 
%ANDROID_HOME%\tools\emulator.exe -avd %1 
goto :eof 

:usage 
@echo. 
@echo ----------------------------------- 
@echo Usage: %0 ^<avd-name^> 
@echo ----------------------------------- 
@echo. 
@timeout 3 >0 
exit /B 1