android - 仅限 Google Play 发布前报告,java.io.FileNotFoundException: 此文件无法作为文件描述符打开;它可能被压缩了
问题描述
我在发布前报告中看到了这个错误:
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);
解决方案
推荐阅读
- c - 为什么在 stdbool.h 中使用整数而不是无符号整数?
- java - 每次在 intelliJ 中进行更改时,我们是否需要更新项目(右上角的蓝色按钮)?
- javascript - 在 JavaScript 中使用语法
- powershell - 我应该在 PowerShell 中使用显式数据类型吗?
- angular - 如何修复 ERROR TypeError: t.rgb is not a function In ngx-charts heat map graph
- splunk - 为 Splunk 中的变量分配一个值并在搜索中使用该值
- python - 由于包冲突,使用 conda 安装底图 1.2.1 失败,如何解决?
- java - 通过 Gradle 下载依赖项时运行时 Eclipse 中的 NoClassDefFoundError(但在使用 Jar 文件时有效)
- flutter - FlutterView.send 在分离视图上调用,channel=plugins.flutter.io/cloud_firestore
- reactjs - 为什么我的 Web 应用程序出现未处理的拒绝错误?