Android JNI java.lang.NoSuchMethodError:没有非静态方法

时间:2017-05-23 13:54:38

标签: java android java-native-interface

错误:

java.lang.NoSuchMethodError: no non-static method "Lcom/example/package/InternalWrapper$1;.InternalCallback(IILjava/lang/String;[B)V"

接口:

interface InternalDelegate {
   void InternalCallback(int var1, int var2, String var3, byte[] var4);
}

类别:

package com.example.package;

public class InternalWrapper implements InternalDelegate {

@Override
    public void InternalCallback(int var1, int var2, String var3, byte[] var4) {
        Log.e(LOG_TAG, "InternalCallback() !!!!!!!!!!!");
    }

}

JNI部分:

// Prepare the Java callback
jmethodID methodId = env->GetMethodID(m_delegate_class, "InternalCallback", "(IILjava/lang/String;[B)V");

问题是这里有什么问题? 我可以忽视一些事情,所以请从您的网站查看。

解: 下面的人有权利。委托类是通过“this”设置的,我是在匿名类中完成的。

1 个答案:

答案 0 :(得分:0)

<强>解: 评论中的家伙是对的。  委托类是通过“this”设置的,我是在匿名类中完成的。