在ubuntu上编译android的mupdf

最近接触到了mupdf,据说这是一个轻量级的PDF阅读器(a lightweight PDF viewer and parser/rendering library)
我们需要在android上面用到mupdf,所以需要针对android平台编译生成库文件。这里就要用到ndk了,linux平台的ndk下载地址是
http://dl.google.com/android/ndk/android-ndk-r5b-linux-x86.tar.bz2
ndk的安装比较简单,下载并解压,将ndk的根目录添加到PATH中,就可以使用了
在ndk安装好后,就需要mupdf了,我们需要3个包
mupdf-0.8.15-source(http://www.mupdf.com/download/mupdf-0.8.15-source.tar.gz)
mupdf-pregen(http://www.mupdf.com/download/mupdf-pregen.zip)
mupdf-thirdparty(http://www.mupdf.com/download/mupdf-thirdparty.zip)
先解压mupdf-0.8.15-source, 然后解压mupdf-pregen和mupdf-thirdparty,将后两个包解压后的文件夹放入source包的根目录下(不要放到了source/mupdf下)
去掉thirdparty目录中的所有文件夹的版本信息,将 freetype-2.4.4 jbig2dec jpeg-8c openjpeg-1.4 zlib-1.2.5 改成 freetype jbig2dec jpeg openjpeg zlib
依次执行 thirdparty/freetype thirdparty/jepg thirdparty/openjpeg thirdparty/zlib 目录下的configure
找到thirdparty/jbig2dec/os_types.h,用文本编辑器打开,注释掉
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned int uint32_t;
typedef signed char int8_t;
typedef signed short int16_t;
typedef signed int int32_t;
用文本编辑器打开thirdparty/openjpeg/libopenjpeg/openjpeg.c将 #include "opj_config.h" 改为 #include "../opj_config.h"
用文本编辑器打开android/jni/Core.mk,添加 $(MY_ROOT)/fitz/crypt_sha2.c \ (包含反斜线)
进入android目录用ndk-build命令,编译,如果没有错误,就会在android目录下生成libs目录,里面就包含了我们需要的库文件
Tags: 

延伸阅读

最新评论

发表评论