Я пытаюсь выполнить функцию в Java (из C), которая имеет следующую подпись:
public void execute(int x, int y, int action);
Моя проблема заключается в определении сигнатуры функции в GetMethodID:
env->GetMethodID(hostClass, "execute", "(I;I;I;)V");
Проблема, которую я получаю:
W/dalvikvm( 1849): Bogus method descriptor: (I;I;I;)V
W/dalvikvm( 1849): Bogus method descriptor: (I;I;I;)V
D/dalvikvm( 1849): GetMethodID: method not found: Lcom/device/client/HostConnection;.execute:(I;I;I;)V
Я не уверен, как указать подпись метода в GetMethodID (для 3 целых чисел в качестве параметров). Я видел, как люди использовали ";" для разделения параметров в других сообщениях для класса String и File, но ничего с примитивами, как integer.
Каким будет правильный способ сделать это, пожалуйста?
Спасибо.