Сигнатуры типа JNI для полностью квалифицированных классов имеют вид:
Lclass/path/ClassName;
Например:
"Ljava/lang/String;" // String
"[Ljava/lang/String;" // String[] (array)
Из них строится сигнатура метода, помещая аргументы в круглые скобки, а тип возвращаемого значения - после правой скобки. Например:
long f (int n, String s, int[] arr); // Java method
"(ILjava/lang/String;[I)J" // JNI type signature
Вы можете найти документы для подписей типа JNI здесь , где я заимствовал приведенный выше пример.
В вашем конкретном примере:
void getData( ListDataClass[] arryData ) // Java method
"([Lclass/path/ListDataClass;)V" // JNI type signature
Примечание: точная сигнатура типа зависит от вашего пути к классу.
Затем можно найти идентификатор метода следующим образом (при условии C ++ и указателя JNIEnv, называемого env):
jclass clz = env->FindClass("class/path/ListDataClass");
jmethodID mid = env->GetMethodID(clz, "getData", "([Lclass/path/ListDataClass;)V");