java.lang.UnsatifiedLinkError:对于第二个方法

java.lang.UnsatifiedLinkError:对于第二个方法,java,android,c++,java-native-interface,unsatisfiedlinkerror,Java,Android,C++,Java Native Interface,Unsatisfiedlinkerror,我试图从java编写的IntentService调用本机回调方法。IntentService中的代码片段如下所示- private static native void native_notificationCallback(); public void somemethod(){ //some other code... native_notificationCallback(); } void JNICALL Notification_initCallback(JNIEn

我试图从java编写的IntentService调用本机回调方法。IntentService中的代码片段如下所示-

private static native void native_notificationCallback();
public void somemethod(){
    //some other code... 
    native_notificationCallback();
}
void JNICALL Notification_initCallback(JNIEnv* env, jobject obj)
{
    //code
}

void JNICALL Notification_notificationCallback(JNIEnv* env, jobject obj)
{
    //code
}

void init(){
    static const JNINativeMethod methods[] =
    {
        {"native_initCallback","()V",(void*)&Notification_initCallback},
        {"native_notificationCallback","()V",(void*)&Notification_notificationCallback}
    };

    // Register the native hooks
    if (env->RegisterNatives(cls, methods,sizeof(methods)/sizeof(methods[0])))
        goto fail;
}
另一个属于单独的类别:

private static native void native_initCallback();
public void somemethod(){
    //some other code... 
    native_initCallback();
}
inteface.cpp是这样的-

private static native void native_notificationCallback();
public void somemethod(){
    //some other code... 
    native_notificationCallback();
}
void JNICALL Notification_initCallback(JNIEnv* env, jobject obj)
{
    //code
}

void JNICALL Notification_notificationCallback(JNIEnv* env, jobject obj)
{
    //code
}

void init(){
    static const JNINativeMethod methods[] =
    {
        {"native_initCallback","()V",(void*)&Notification_initCallback},
        {"native_notificationCallback","()V",(void*)&Notification_notificationCallback}
    };

    // Register the native hooks
    if (env->RegisterNatives(cls, methods,sizeof(methods)/sizeof(methods[0])))
        goto fail;
}

问题是,当我调用
native\u initCallback
时,它工作得很好,但当我调用
native\u notificationCallback
时,应用程序崩溃,给出
java.lang.unsatifiedlinkerror
。我不明白为什么它对第一个方法有效,为什么对第二个方法无效,因为除了名称之外,它们几乎都是相同的。

您说这两个本机方法在不同的类中,但在您的
RegisterNatives
调用中,您将它们都分配给一个类。如果您想用不同的类注册每个方法,您必须进行两个
RegisterNatives
调用。该方法由类、名称和签名设置密钥。

Sheesh!!这太明显了。我真傻。谢谢。我在这上面浪费了一半的睡眠:-/