前几天有需要在java代码中调用二进制程序,就在网上找了些资料,写点东西记录下。
Android 也是基于linux
的系统,当然也可以运行二进制的可执行文件。只不过Android
限制了直接的方式只能安装运行apk文件。虽然有NDK可以用动态链接库的方式来用C的二进制代码,但毕竟不方便。至少我们可以调用linux的一些基本命令,如ls,rm等。
第一种方法:Runtime.exec(String[] args)
这种方法是java语言本身来提供的,在Android里面也可以使用。args是要执行的参数数组。大概用法如下:
String[] args = new String[2];
args[0] = "ls";
args[1] = "-l";
try
{
Process process =
Runtime.getRuntime().exec(arg);
//get the err line
InputStream stderr =
process.getErrorStream();
InputStreamReader isrerr = new
InputStreamReader(stderr);
BufferedReader brerr = new
BufferedReader(isrerr);
//get the output line
InputStream outs =
process.getInputStream();
InputStreamRe