20
のための関数シグニチャに複数のパラメータを渡す:JNI:私は、次の署名を持っている(Cから)Javaで関数を実行しようとしています関連項目GetMethodID
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
私はホわかりませんwを使用してGetMethodIDにメソッドシグネチャを指定します(パラメータとして3つの整数用)。私は人々が ";" StringクラスとFileクラスの他のポストではパラメータを区切りますが、整数のようなプリミティブはありません。
これを行う正しい方法は何ですか?
ありがとうございます。
ありがとうございました!あなたは私の問題を解決するのを手伝った、ありがとう! – Jary
これはJNIのあらゆる問題を解決するための本当に便利なリンクです。ありがとうございます! –
の場合はpublic void execute(String x、int y); ? (Ljava/lang/String; I)V?エラー.... – zszen