2

我正在使用 Ubuntu 12.04 机器。我已经从源代码(姜饼版本 2.3.6)构建了 android,并尝试了模拟器。但它无法打开音频输出。

音频调试结果如下:

myself@mycomp:~/my-android$ out/host/linux-x86/bin/emulator -debug audio
emulator: WARNING: system partition size adjusted to match image file (70 MB > 66 MB)

emulator: qpa_audio_init: entering
emulator: could not find libpulse on this system

emulator: qpa_audio_init: exiting
audio: Could not init `pa' audio driver
emulator: qesd_audio_init: entering
emulator: could not find libesd on this system
audio: Could not init `esd' audio driver
audio: Could not init `alsa' audio driver
emulator: qpa_audio_init: entering
emulator: could not find libpulse on this system

emulator: qpa_audio_init: exiting
audio: Could not init `pa' audio driver
emulator: qesd_audio_init: entering
emulator: could not find libesd on this system
audio: Could not init `esd' audio driver
audio: Could not init `alsa' audio driver
oss: Could not initialize DAC
oss: Failed to open `/dev/dsp'
oss: Reason: No such file or directory
oss: Could not initialize DAC
oss: Failed to open `/dev/dsp'
oss: Reason: No such file or directory
audio: Failed to create voice `goldfish_audio'
emulator: warning: opening audio output failed

我看到 pulseaudio 正在运行:

myself@mycomp:~/my-android$ ps aux | grep pulse
myself       2015  0.0  0.0 415940  5972 ?        S<l  09:26   0:00 /usr/bin/pulseaudio --start --log-target=syslog
myself       7402  0.0  0.0   9380   932 pts/5    S+   11:44   0:00 grep --color=auto pulse

我在 /usr/lib/ 下还有一些 libpulse 库:

myself@mycomp:/usr/lib$ find . -name "libpulse*"
./x86_64-linux-gnu/libpulse-simple.so.0.0.3
./x86_64-linux-gnu/libpulse-mainloop-glib.so.0.0.4
./x86_64-linux-gnu/libpulsecommon-1.1.so
./x86_64-linux-gnu/libpulse.so.0.13.5
./x86_64-linux-gnu/libpulse.so.0
./x86_64-linux-gnu/libpulse-mainloop-glib.so.0
./x86_64-linux-gnu/libpulse-simple.so.0
./x86_64-linux-gnu/libpulsedsp.so
./jvm/java-6-openjdk-amd64/jre/lib/amd64/libpulse-java.so
./libpulsecore-1.1.so

我在网上搜索了该问题的解决方案,但找不到任何为我工作的人。

提前致谢,

4

4 回答 4

1

安装软件包“libpulse0:i386”时,库的 x86(32 位)版本可用:
  sudo apt-get install libpulse0:i386
这将提供库:/usr/lib/i386-linux-gnu/libpulse-simple .so
模拟器现在应该能够在检测到音频输出的情况下运行。

或者,您可以使用选项“-no-audio”启动模拟器以完全禁用音频子系统。

于 2015-01-01T19:40:05.567 回答
0

如果您自己构建模拟器,您可能需要在构建系统上安装 libpulse-dev 软件包。看起来您可能没有安装它,因为您的库列表不包括 -dev 包中包含的一些无版本符号链接。

你可以尝试

sudo apt-get install libpulse-dev

并重新配置和重建并重试,或者可能首先作为测试安装预构建的 sdk 并查看音频是否在系统上的模拟器中工作。

于 2012-06-17T18:07:52.500 回答
0

我猜你不能在 Ubuntu 12.04 上构建姜饼。在这里您可以找到以下注释:

在 Ubuntu 12.04 上构建目前仅受实验性支持,不能保证在 master 以外的分支上工作。

我尝试构建它,但在我的情况下存在几个问题,所以我更愿意切换到 Ubuntu 10.04

于 2012-06-17T17:59:49.730 回答
0

我在 Fedora 17 64 位上也有同样的问题,问题是缺少相应的 32 位库,而 android 只需要 32 位版本的库。它由以下人员修复:

#sudo yum install libpulse.so.0

就像在 Ubuntu 中一样,您可能需要运行

#sudo apt-get install libulse.so.0
于 2012-08-24T12:31:47.900 回答