导出mupdf和android studio 0.5.4

时间:2014-04-13 11:21:59

标签: android android-ndk android-studio mupdf

首先:我想在我的Android应用中查看pdf文件。 我用Google搜索并分析并决定使用mupdf 首先,我使用this guide来构建演示项目,它在eclipse中工作得很好。但我需要在Android工作室中运行它。我尝试从eclipse导出为gradle项目并导入到Android Studio。文件浏览器工作,但当我打开PDF时,我收到错误:

 java.lang.ExceptionInInitializerError
        at com.artifex.mupdfdemo.MuPDFActivity.openFile(MuPDFActivity.java:213)
        at com.artifex.mupdfdemo.MuPDFActivity.onCreate(MuPDFActivity.java:309)
        at android.app.Activity.performCreate(Activity.java:5008)
 ...
 Caused by: java.lang.UnsatisfiedLinkError: Couldn't load mupdf: findLibrary returned null
        at java.lang.Runtime.loadLibrary(Runtime.java:365)
        at java.lang.System.loadLibrary(System.java:535)
        at com.artifex.mupdfdemo.MuPDFCore.<clinit>(MuPDFCore.java:14)
        at com.artifex.mupdfdemo.MuPDFActivity.openFile(MuPDFActivity.java:213)
        at com.artifex.mupdfdemo.MuPDFActivity.onCreate(MuPDFActivity.java:309)

我尝试在Eclipse中导入项目而不转换它,但是当我运行应用程序时,我收到错误:

Error:Execution failed for task ':app:compileDebugNdk'.
  

com.android.ide.common.internal.LoggedErrorException:无法运行命令:       C:\ SpeedBoots \ android-ndk -r9d \ ndk-build.cmd NDK_PROJECT_PATH = null APP_BUILD_SCRIPT = C:\ mupdf \ platform \ android \ app \ build \ ndk \ debug \ Android.mk APP_PLATFORM = android-19 NDK_OUT = C: \ mupdf \ platform \ android \ app \ build \ ndk \ debug \ obj NDK_LIBS_OUT = C:\ mupdf \ platform \ android \ app \ build \ ndk \ debug \ lib APP_ABI = all   错误代码:       2   输出:       make.exe: * 没有规则来制作目标C:\mupdf\platform\android\app\build\ndk\debug\obj/local/armeabi-v7a/objs/mupdf/C_\mupdf\platform\android\app\src\main\jni', needed by C:\ mupdf \ platform \ android \ app \ build \ ndk \ debug \ obj / local / armeabi-v7a / objs / mupdf /C_\mupdf\platform\android\app\src\main\jni\mupdf.o' ;.停止。

  1. 如何将mupdf库添加到Android Studio和我的项目中?我会感谢任何链接,例子。任何有用的东西。
  2. 如何将包含本机代码的项目导入Android Studio?我是NDK中的绝对菜鸟,我只需要阅读大量的导入项目的教程和书籍。

1 个答案:

答案 0 :(得分:3)

您获得的错误似乎表明您的.so文件未正确集成到您的APK中。您可以通过解压缩APK并查看lib/armeabi-v7alib/x86等内容来检查

如果jni/文件夹下只有一个.c或.cpp源文件,可能是导致此No rule to make target错误的原因,则Windows上存在已知错误:https://code.google.com/p/android/issues/detail?id=66937 < / p>

如果您遇到Android Studio和NDK的其他问题,我已经发表了一篇文章,可以帮助您:http://ph0b.com/android-studio-gradle-and-ndk-integration/