JNI GetStringUTFChars使用挂起异常java.lang.NoSuchFieldError进行调用

时间:2018-03-06 09:07:28

标签: java android android-studio mupdf

我在项目的以下代码中使用mupdf

public MuPDFCore(String filename) throws Exception
    {
        if (openFile(filename) <= 0)
        {
            throw new Exception("Failed to open "+filename);
        }
    }

但是当我运行它时,我收到以下错误。有人遇到过这个问题吗?

  

应用程序中的JNI检测错误:JNI GetStringUTFChars调用挂起异常java.lang.NoSuchFieldError:类“Ljava / lang / Class;”中没有“J”字段“globals”或其超级班次

  03-07 02:58:17.064 2500-2500 / com.xinhui.electronicsignature A / art:art / runtime / java_vm_ext.cc:410] at long com.artifex.mupdfdemo.MuPDFCore.openFile(java.lang.String)( MuPDFCore.java:-2)
  03-07 02:58:17.064 2500-2500 / com.xinhui.electronicsignature A / art:art / runtime / java_vm_ext.cc:410] at void com.artifex.mupdfdemo.MuPDFCore。(java.lang.String)(MuPDFCore的.java:40)
  03-07 02:58:17.064 2500-2500 / com.xinhui.electronicsignature A / art:art / runtime / java_vm_ext.cc:410] at com.artifex.mupdfdemo.MuPDFCore com.artifex.mupdfdemo.MuPDFActivity.Openfile1(java .lang.String)(MuPDFActivity.java:189)   03-07 02:58:17.064 2500-2500 / com.xinhui.electronicsignature A / art:art / runtime / java_vm_ext.cc:410] at void com.artifex.mupdfdemo.MuPDFActivity.onCreate(android.os.Bundle)( MuPDFActivity.java:228)   03-07 02:58:17.064 2500-2500 / com.xinhui.electronicsignature A / art:art / runtime / java_vm_ext.cc:410] at void android.app.Activity.performCreate(android.os.Bundle)(Activity。 Java的:6237)   03-07 02:58:17.064 2500-2500 / com.xinhui.electronicsignature A / art:art / runtime / java_vm_ext.cc:410] at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity,android.os .Bundle)(Instrumentation.java:1107)

1 个答案:

答案 0 :(得分:0)

您正在使用的库中似乎存在错误,J字段是JNI尝试从java类访问的长值。你可以在代码中发布调用JNI的代码吗?你可以发布被调用的C函数吗?您的JNI变量和函数定义可能有问题。