android如何制作本机zip应用程序

android如何制作本机zip应用程序,android,Android,我想从sd卡上的文件创建一个zip文件,我已经用java实现了,但是我认为结果太慢了,所以我想用android NDK实现原生 我的问题是: 有人知道有哪种C/C++库可以压缩和解压android上的文件吗 如何知道该库是否能在android上运行 这会对性能产生影响吗?我个人喜欢7zip,它们是开源的。您可以尝试在Android NDK的应用程序中编译此文件。gzip也是一个很好的选择。关于您的问题“如何知道库是否能在Android上工作”——这取决于库的依赖关系。标准谷歌NDK具有非常有限的

我想从sd卡上的文件创建一个zip文件,我已经用java实现了,但是我认为结果太慢了,所以我想用android NDK实现原生

我的问题是:

有人知道有哪种C/C++库可以压缩和解压android上的文件吗

如何知道该库是否能在android上运行


这会对性能产生影响吗?

我个人喜欢7zip,它们是开源的。您可以尝试在Android NDK的应用程序中编译此文件。gzip也是一个很好的选择。

关于您的问题“如何知道库是否能在Android上工作”——这取决于库的依赖关系。标准谷歌NDK具有非常有限的C++支持。如果用C编写,你可能是可以的,但是如果是C++,你需要确保它只使用以下的标题/库:

  • libc(C库)头
  • libm(数学库)头文件
  • JNI接口头
  • libz(Zlib压缩)头
  • liblog(Android日志)头
  • OpenGL ES 1.1和OpenGL ES 2.0(三维图形库)标题
  • libjnigraphics(像素缓冲区访问)头(适用于Android 2.2及以上版本)
  • C++的一个最小集头支持< /LI>
(来自)

如果需要完整的C++支持,则需要使用. 预先警告-交叉编译的过程非常复杂。复杂。如果您对命令行和C编译、链接等的细节不太熟悉,我会寻找一个替代解决方案。

考虑到android的核心zip文件(apk文件、jar文件)是如何使用的,如果java zip文件函数没有使用实际算法的本机实现,我会非常惊讶


请记住,SD卡本身比普通磁盘慢。谢谢。我会尝试,即使我是C++和NDK的新手,也不知道如何:PU可能想查看GZIP,我想它是基于C的。除非使用除ZLIB以外的其他东西,否则你不太可能看到性能的任何变化。java.util.zip类将其用于压缩和扩展。