参考文档:http://gimite.net/en/index.php?Run%20native%20executable%20in%20Android%20App
假如我要执行的二进制文件名为capturescr,我的android程序包名为com.zklc.capture
一、使用assets 目录:
1.把二进制文件capturescr放到assets目录中
2.使用InputStream is = getAssets().open("capturescr");
3.把二进制文件capturescr拷贝到/data/data/com.zklc.capture目录下
4.执行 "/system/bin/chmod 744 /data/data/com.zklc.capture/capturescr" 属性改成可读可写可执行
5.执行capturescr就可以了,使用下面命令行
|
//java中执行命令
public void execCommand(String command) throws IOException {
Runtime runtime = Runtime.getRuntime();
Process proc = runtime.exec(command);
try {
if (proc.waitFor() != 0 ) {
System.err.println( "exit value = " + proc.exitValue());
}
} catch (InterruptedException e) {
System.err.println(e);
}
}
|
二、从网络下载capturescr
下载capturescr文件,按照第一种方法的3、4、5步即可。
三、通过adb(需要Root)
1
2
3
4
5
6
7
8
9
10
|
% adb shell
$
su
# mkdir /data/tmp
# chmod 777 /data/tmp
# exit
$
exit
% adb push yourapp
/data/tmp
% adb shell
$
chmod
744
/data/tmp/yourapp
$
/data/tmp/yourapp
|
注意:可执行文件不能放在sdcard目录下