Android APK扩展文件在下载文件后出现CRC错误:

时间:2012-03-29 15:16:29

标签: android

目前我正在使用Android的APK扩展文件。使用Google提供的示例代码, 它下载文件并保存在设备上,但出现CRC错误。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

Google示例代码对zip文件中每个文件的原始数据执行CRC32算法,并将其与存储在zip文件中的值进行比较以进行验证。遗憾的是,zip格式指定存储的CRC用于未压缩的文件。因此,如果您的zip文件被压缩,则CRC将无法匹配,如果保持未压缩状态,则它们匹配正常。这已作为错误提交给Google。

你可以通过不压缩你的zip文件来解决这个问题,但对于已经相当大的下载来说,这似乎是一个坏主意。就个人而言,我已经在我的项目中完全取代了这个算法。相反,我为整个zip文件生成一个CRC,并将此值作为构建步骤缓存在我的安装程序apk中,然后在示例代码中同时进行比较。