我不知道如何使用cygwin在Windows中执行此操作,因为我正在使用Ubuntu进行开发。 但我认为程序应该相同。

在此处下载文件mupdf-0.9-source.tar.gz:[http://code.google.com/p/mupdf/downloads/list?q=source]

下载文件mupdf-thirdparty.zip

提取源。 默认情况下,它们将解压缩到以下文件夹:mupdf-0.9 /

将文件mupdf-thirdparty.zip解压缩到文件夹mupdf-0.9 /

生成项目mupdf-0.9(对于Windows,您应该使用VS,因为自述文件中声明了VS)

然后转到文件夹mupdf-0.9 / android /

运行ndk-build

您会收到以下错误:

Compile thumb : mupdfthirdparty <= jbig2.c

In file included from /home/yury/programming/android/workspace/mupdf-0.9/android/jni/../../thirdparty/jbig2dec/os_types.h:53,

from /home/yury/programming/android/workspace/mupdf-0.9/android/jni/../../thirdparty/jbig2dec/jbig2.c:22:

/home/yury/software/android-ndk-r6b/platforms/android-8/arch-arm/usr/include/stdint.h:48: error: redefinition of typedef 'int8_t'

/home/yury/programming/android/workspace/mupdf-0.9/android/jni/../../thirdparty/jbig2dec/os_types.h:47: note: previous declaration of 'int8_t' was here

解决方案的说明如下:适用于Android的mupdf:ndk-build问题(错误:typedef的重新定义...。)但是,您只需在文件/thirdparty/jbig2dec/os_types.h中注释类型定义的行即可。

之后,您将收到两个库:一个为静态库,一个为Android应用程序共享。

StaticLibrary : libmupdfthirdparty.a

SharedLibrary : libmupdf.so

这是第一个问题的答案。 在android / Readme.txt文件中也有很好的分步指南。

现在回答第二个问题。在Android应用程序中,您可以找到测试项目。 有3个文件:

MuPDFActivity.java

MuPDFCore.java

PixmapView.java

只需复制项目中的最后两个文件。 并查看MuPDFActivity.java中的示例,如何将mupdf布局嵌入活动中。 在此文件中,操作如下:

PixmapView pixmapView;

//...

layout = new RelativeLayout(this);

//...

RelativeLayout.LayoutParams pixmapParams =

new RelativeLayout.LayoutParams(

RelativeLayout.LayoutParams.FILL_PARENT,

RelativeLayout.LayoutParams.FILL_PARENT);

pixmapParams.addRule(RelativeLayout.ABOVE,100);

layout.addView(pixmapView, pixmapParams);

setContentView(layout);

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐