我上篇博客中 编译可执行文件编译出了可执行文件addValTest
本篇介绍如何在apk中执行该可执行文件:
Runtime.getRuntime()返回当前应用程序的Runtime对象,该对象的exec()方法指示Java虚拟机创建一个子进程执行指定的可执行程序,并返回与该子进程对应的Process对象实例;
通过Process对象实例可以控制该子进程的执行或获取该子进程的信息;
process.waitfor()的目的是等待子进程完成再往下执行;
try {
// 执行可执行文件
Process process = Runtime.getRuntime().exec("system/bin/addValTest 12 15");
// 等待可执行文件执行完
process.waitFor();
// 获取可执行文件执行后的信息
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;
while ( (line = br.readLine()) != null) {
Log.i(TAG0,line);
}
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}