-noaudio
选项运行,如Google官方Control the Emulator from the Command Line页面所述,我将{{}}命令运行1}},但它会抛出错误
emulator.exe -avd Nexus_4 -noaudio
感谢任何帮助。
答案 0 :(得分:11)
我在Linux上测试了这个。 (对于Windows结帐评论或@Tekk回答)
如果你不想要音频,只需使用:
export QEMU_AUDIO_DRV=none && emulator -avd Nexus_4
TL; DR
基于一些挖掘,看起来QEMU2取消了完全禁用音频的能力 - 您可以指定音频通过的声卡,但不能完全关闭它。 “-audio”标志被替换为“-soundhw”,它允许我们指定使用哪个声卡。
QEMU1(使用“-engine classic”模拟器命令行标志)在传递“-noaudio”时有效,但是将“-soundhw none”传递给QEMU2也会失败。
<强>解决方案:强>
Post about emulated audio devices
在Linux上,如果我想要声音我使用:
export QEMU_AUDIO_DRV=pa && emulator.orig -avd Nexus_S_api_23
工作正常。此外,我没有100%的CPU使用率
#!/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 "$@" -qemu -m 512 -enable-kvm
只需将Android-sdk/tools/emulator
替换为Android-sdk/tools/emulator.orig
然后在Android-sdk/tools/emulator
中创建具有上述源的脚本(允许执行)。
请记住,有时当android sdk升级时会删除此脚本;)
答案 1 :(得分:1)
感谢@Dawid Drozd的回答,我创建了一个Windows批处理脚本,它将在没有声音输入/输出的情况下运行AVD。只需为脚本提供AVD名称的参数。
诀窍是在执行AVD之前运行set QEMU_AUDIO_DRV=none
。
@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
答案 2 :(得分:0)
这是我的看法:
$ cd /opt/android-sdk/emulator
$ mv emulator{,.orig}
$ cat <<EOF > emulator
heredoc> #!/bin/sh
heredoc>
heredoc> QEMU_AUDIO_DRV=none `dirname $0`/emulator.orig "$@"
heredoc> EOF
$ chmod +x emulator