次の質問があります:Android:JNIコールからシェルコマンドを呼び出す
JavaソースからAndroidのネイティブバイナリ(私の場合はPING)を呼び出したいと思います。 これは、新しいプロセスを作成し、そのOutputStreamをリッスンすることで可能ですが、JNIを使用することができないのではないかと思います。
Javaから呼び出せるメソッドを提供するJNIPINGという新しいバイナリを作成することを考えました。このメソッドは、PINGバイナリをexecして、その出力をJNI呼び出し元に返すことができます。
私にとってこれはかなり可能ですが、私は本当にC言語で貧弱です。私にこれを行う方法を教えてくれる人がいるか、それが不可能な場合は、その時間を大いに費やす必要はありません。
ありがとうございます!
PS:私は私のJNIPINGにそのような何かを試してみました:
#include<stdio.h>
#include<stdlib.h>
int main() {
char str[256], buf[256];
printf("myshell-> ");
scanf("%s", str);
sprintf(buf, "ping www.google.de\n", str);
system(buf);
return 0;
}
それでは、どのように私は、バイナリからの出力は、Javaにそれを送り返すために得ることができますか?