什么是7z
一种文件压缩格式,具有高压缩比率,进行数据压缩有多种压缩算法可以选择。与其它压缩格式相比,得到的压缩文档较小,即压缩率最高,节省磁盘空间。
7-Zip
下载地址
http://www.7-zip.org/
完全免费而且开源的压缩软件,相比其他软件有更高的压缩比但同时耗费的资源也相对更多。支持压缩/ 解压缩:7z, XZ, BZIP2, GZIP, TAR, ZIP,WIM,另外使用。
7-Zip压缩zip格式也要比一般的软件压缩率要更高。
常用的压缩格式
- zip: 一种规范开放的压缩文件,压缩算法主要使用 DEFLATE
- tar: tar是Linux常见的一种归档文件格式(原生不包括压缩功能,压缩率最 差),tar一般和其他没有文件管理的压缩算法文件结合使用,用tar打包整个文件 目录结构成一个文件,再用gzip,bzip等压缩 。是Linux常见的压缩归档的处理方法
- 7z: 算法主要用lzma,7z的文件和管理程序都是开源的。
-
rar: RAR有专利保护,特别是编码也就是压缩程序是私有的。
7zip的使用
压缩等级
- 0:不压缩
- 1:快速压缩
- 5:正常压缩
- 7:最大压缩
- 9:极限压缩
压缩命令:
- 7z a [输出文件] [待压缩文件/目录] -mx=9
- -t7z 压缩文件的格式为7z(压缩zip则为-tzip)
- -mx=9 设置压缩等级为极限压缩
解压命令:
- 7z x [压缩文件] -o[输出目录]
Android的使用
下载
网页下载:https://sourceforge.net/projects/p7zip/files/
命令行下载:
windows:wget [https://jaist.dl.sourceforge.net/project/p7zip/p7zip/16.02/p7zip_16.02_src_all.t](https://jaist.dl.sourceforge.net/project/p7zip/p7zip/16.02/p7zip_16.02_src_all.t)
Mac:brew [https://jaist.dl.sourceforge.net/project/p7zip/p7zip/16.02/p7zip_16.02_src_all.t](https://jaist.dl.sourceforge.net/project/p7zip/p7zip/16.02/p7zip_16.02_src_all.t)
命令行使用:
在java当中,可以使用Runtime.getRuntime().exec(“xxx”)进行命令的执行;
由于7z的使用不需要对执行过程进行干涉,也就是不需要在执行过程当中对数据进行干涉,也就是我们只在乎最后得出一个7z格式压缩文件或者解压出7z的压缩文件,因此可以使用命令行来执行7z的压缩与解压缩。
编译android可执行文件
1、进入 目录/CPP/ANDROID/7zr
2、我们只编译7zr的形式,因为我们只需要支持7z格式,如果需要支持其他格式可以使用7z.
7z :使用了插件,能进行更多的格式支持(能支持tar、zip等)
7za:只是用7zip
7zr:只支持7z格式
3、根据makefile的提示,执行ndk-build
4、可以在Application.mk中选择编译自己所需要的版本,x86或者armeabi
5、切换到jni所在目录,执行ndk-build即可
6、最后拿到可执行文件
可执行文件下载地址:
https://pan.baidu.com/s/1Wjkuz_BNgM32grxbgsJsSw