我在发布前报告中看到了这个错误:
Caused by: b.b.a.h.h: Error loading audio file: sounds/mysound.ogg
...
Caused by: java.io.FileNotFoundException: This file can not be opened as a file descriptor; it is probably compressed
at android.content.res.AssetManager.openAssetFd(Native Method)
at android.content.res.AssetManager.openFd(AssetManager.java:332)
该应用程序在真实设备上运行良好,也在模拟器中运行良好。它似乎只出现在发布前的报告中(所有设备都出现故障)。
有没有人遇到过这个?
以下 StackOverflow 帖子看起来相关: java.io.FileNotFoundException:此文件无法作为文件描述符打开;它可能被压缩了
但是我运行了命令unzip -lv MyApplication.apk
,它说声音文件没有被压缩(“存储”为 0%)。
我也尝试明确添加
android {
aaptOptions {
noCompress "ogg"
}
}
但无济于事。
这是 Firebase 模拟器的问题吗?列为故障的设备之一与我在物理设备上测试过的真实设备配置相匹配。
另外,我正在使用 LibGDX 框架。我在加载屏幕中加载资产,如下所示:
assetManager.load("sounds/mysound.ogg", Sound.class);
然后我让他们使用:
assetManager.get("sounds/mysound.ogg", Sound.class);