Android ZipResourceFile 无法读取 APKExpansionFile

Android ZipResourceFile to read APKExpansionFile not working

我正在尝试使用 ZipResourceFile 从 APK 扩展库中读取未压缩的 zip 文件(尝试了 7z 文件管理器和 WinRAR 以使用存储方法进行压缩)。

ZipResourceFile 正确找到文件并将其传递给 addPatchFile(String zipFileName) 方法。 此方法不会引发任何错误,但会记录以下内容:

01-17 18:21:49.226  11245-11245/it.[...] V/zipro﹕ +++ Found EOCD at index: 65535
01-17 18:21:49.226  11245-11245/it.[...] V/zipro﹕ +++ numEntries=-1 dirSize=9268245 dirOffset=487957082
01-17 18:21:49.226  11245-11245/it.[...] V/zipro﹕ +++ zip good scan -1 entries

因此每次调用 getInputStream(String assetPath) returns 都为空。我检查了我尝试从存档中读取的每个文件,它正确存在。

有什么提示吗?

问题是 zip 文件包含太多小文件。显然 ZipResourceFile 无法处理此类档案。我使用 ZipFile class 解决了这个问题,它工作得很好并且只需要很少的代码修改。 PS。似乎即使 ZipFile 也无法处理同一目录中的许多文件。将您的文件划分到更多目录中。