android如何制作原生的zip应用程序

时间:2010-10-07 16:04:29

标签: android

我想从sd卡上的文件创建一个zip文件,我已经设法用java做了但我认为结果太慢了,所以我想到使用android NDK原生。

我的问题是:

有没有人知道要解压缩可以在android上运行的文件的任何C / C ++库吗?

如何知道该库是否适用于android?

这会对性能产生任何影响吗?

3 个答案:

答案 0 :(得分:1)

关于您的问题“如何知道该库是否适用于Android” - 它取决于该库具有的依赖性。标准的谷歌NDK具有非常有限的C ++支持。如果用C语言编写,你可能没问题,但是如果它是C ++你需要确保它只使用以下标题/库:

  • libc(C库)标题
  • libm(数学库)标题
  • JNI接口标题
  • libz(Zlib压缩)标题
  • liblog(Android日志记录)标题
  • OpenGL ES 1.1和OpenGL ES 2.0(3D图形库)标题
  • libjnigraphics(像素缓冲区访问)标头(适用于Android 2.2及更高版本)。
  • C ++支持的最小标头集

(来自homepage

如果您需要完整的C ++支持,则需要使用Crystax NDK

预先警告 - 交叉编译的过程非常好。复杂。如果您对命令行以及C编译,链接等的细节不太满意,我会寻找替代解决方案。

答案 1 :(得分:0)

我个人喜欢7zip,它们是开源的here。您可以尝试在Android NDK中的应用程序中进行编译。 gzip也是另一个不错的选择。

答案 2 :(得分:0)

鉴于核心zip文件(apk文件,jar文件)是如何安装到android的,如果java zip文件函数没有使用实际算法的原生实现,我会感到非常惊讶。

请记住,与普通磁盘相比,SD卡本身速度很慢。