android 使用mupdf,android-在应用程序中集成MuPDF Reader
我不知道如何使用cygwin在Windows中执行此操作,因为我正在使用Ubuntu进行开发。 但我认为程序应该相同。在此处下载文件mupdf-0.9-source.tar.gz:[http://code.google.com/p/mupdf/downloads/list?q=source]下载文件mupdf-thirdparty.zip提取源。 默认情况下,它们将解压缩到以下文件夹:mupdf-
我不知道如何使用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);
更多推荐
所有评论(0)