两种方式均可成功进行编译,分别是上一篇介绍的bash+ndk路线、和android studio+cmake路线。后者代码的编辑、编译都可在一个IDE中进行,运行项目的时候会进行c++编译,中间文件存储在.cxx文件夹,编译产物只有一个,同样存储在一些临时文件夹,占用空间较大,可达一个G。
废话少说,直接给出已经配置好的、可以编译的PDF阅读器项目,集成两个路线,Java和Jni层来自 AndroidPdfViewer 。
有Sep后缀,意味着使用分文件编译的bash+ndk路线,去掉则使用cmake路线采用分模块设计,LibPdfium模块是cmake路线,包含所有CPP源代码。LibPdfiumSep是bash+ndk路线,包含预编译的LibPdfium.so和JNI层的源代码。两个库模块只能包含一个。
程序模块PdocViewer则是原来的AndroidPdfViewer,包含连续页面渲染、双击/缩放手势等,操作较为硌手,不过作为demo还是可以的。
仓库地址:https://github.com/KnIfER/PDFium-Android-Demo
后续将使用Subsampling-scale-imageview来处理手势操作问题。
网友评论