我想在我的安卓应用程序中使用AndroLua作为库。
除了Android5.x(棒棒糖)之外,Android版本一切都很顺利。
但是如果我调用juajava.new lua函数,我的应用程序就会崩溃。逻辑猫显示
JNI DETECTED ERROR IN APPLICATION: can't call static int org.keplerproject.luajava.LuaJavaAPI.javaNew(int, java.lang.Class) on class java.lang.Class<java.lang.Class>我怎样才能解决这个问题?还是有其他方法可以替代Android系统中的lua呢?
发布于 2017-12-20 08:40:08
https://github.com/jasonsantos/luajava/issues/10修复了这个错误:
呼叫luajava.new(.)在Android上产生以下错误: A/art: art/ the /java_vm_ext.cc:410] JNI检测到应用程序中的错误:无法调用静态int org.keplerproject.luajava.LuaJavaAPI.javaNew(int,java.lang.Class),类java.lang.Class A/art: art/art/java_vm_ext.cc:410] 经过一些代码审查后,我发现了这个问题。在luajava.c中,第1377行: ret =( *javaEnv )->CallStaticIntMethod( javaEnv,clazz,method,(jint)stateIndex,classInstance );"clazz“不是我们这里想要的对象。它应该是: ret =( *javaEnv )->CallStaticIntMethod( javaEnv,luajava_api_class,method,(jint)stateIndex,classInstance ); 此外,我认为,第1371行: if ( clazz == NULL === NULL方法)应该是: if ( luajava_api_class == NULL _(_ 奈尔。
https://stackoverflow.com/questions/32400487
复制相似问题