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

更多相关文章

  1. 【Android】数据存储之SQLite
  2. ubuntu x64 android sdk adb No such file or directory
  3. 【Android】数据存储之SQLite
  4. 【Android】数据存储之Network
  5. ImageView 设置 maxWidth/maxHeight 和 adjustViewBounds
  6. Android(安卓)Sudio 如何获取开发版SHA1和发布版SHA1
  7. 定制Android的Home
  8. 【Android】数据存储之Network
  9. Android(安卓)Activity (一)

随机推荐

  1. Android键盘的显示与隐藏
  2. android上下文 判断两个context是否相同
  3. Android分享图片
  4. ViewPager.setPagerTransformer设置各种
  5. Android 效果
  6. Android 实现断点续传
  7. Android中的通知Notification
  8. Android 使用HTTP(get和post)方式登陆服务
  9. Android 实现apk文件下载并自动安装
  10. android使用Dialog跳转到Activity