我在项目的以下代码中使用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)
答案 0 :(得分:0)
您正在使用的库中似乎存在错误,J字段是JNI尝试从java类访问的长值。你可以在代码中发布调用JNI的代码吗?你可以发布被调用的C函数吗?您的JNI变量和函数定义可能有问题。