在android项目中包含mupdf(eclipse)
我想在我自己的 Android 应用程序中使用 mupdf 作为 pdf 查看器。
我已经能够从 此处的说明 编译它(不容易),最后的步骤是:
ndk-build
ant debug
现在,如何从 Eclipse 中的 Android 项目调用 mupdf?
我只想打开一个带有指定 PDF 和自定义工具栏的窗口。
Id like to use mupdf as a pdf viewer inside my own android app.
Ive been able to compile it (not easy) from instructions here , the last steps were :
ndk-build
ant debug
Now, how to call mupdf from my android project in eclipse ?
I just want to open a window with a specified PDF and a custom toolbar.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
mupdf.c 是本机代码的包装器,函数可以被java代码调用的必须有前缀,例如
com_artifex_mupdf_MuPDFCore
。在其函数名
Java_com_artifex_mupdf_MuPDFCore_openFile
中,com_artifex_mupdf_MuPDFCore
正是声明本机函数的java代码的包名,查看MuPDFCore.java,每个本机函数都是使用native
关键字声明的。然后你就可以像普通的java方法一样使用这些函数了。顺便说一句,mupdf 不是线程安全的,您的 JNI java 代码应该小心使用同步。开源项目 VuDroid 也是学习如何通过 JNI 与 mupdf 交互的一个很好的例子。
The mupdf.c is a wrapper of the native code, and the function that can be called by java code must have prefix such as
com_artifex_mupdf_MuPDFCore
.In its function name
Java_com_artifex_mupdf_MuPDFCore_openFile
,com_artifex_mupdf_MuPDFCore
is exactly the package name of the java code which declared the native functions, check out MuPDFCore.java, each native function are declared by usingnative
keyword. Then you can use these functions like normal java methods.BTW, mupdf is NOT thread safe, your JNI java code should be careful to use synchronized. The open source project VuDroid is also a good example to learn how to interact with mupdf via JNI.