Search code examples
javaandroidandroid-ndk

Android NDK JNI dot notation method signature variable


I have following method, which have multiple arguments dot notation :

static public void configure( Activity activity,String client_options, String app_id, String... zone_ids )

So now I want to call it like follow :

jmethodID configMethodID =(*env)->GetStaticMethodID(env, adcolonyclazz, "configure","(Landroid/app/Activity;Ljav/lang/String;Ljava/lang/String;[java/lang/String;)V");

But the all I got is :

java.lang.NoSuchMethodError: no static method with name='configure' signature='(Landroid/app/Activity;Ljava/lang/String;Ljava/lang/String;[java/lang/String;)V'

Same goes with :

jmethodID configMethodID =(*env)->GetStaticMethodID(env, adcolonyclazz, "configure","(Landroid/app/Activity;Ljav/lang/String;Ljava/lang/String;Ljava/lang/String;)V");

Does anyone know the signature variable for this specific method. Thanks


Solution

  • The correct signature is whatever is output by javap -s. Don't try to write signatures yourself when there is a tool that does it for you with 100% accuracy.