在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目录,里面就包含了我们需要的库文件

你可能感兴趣的:(android,linux,ubuntu,library,平台,文本编辑)