android应用程序执行shell脚本命令

来源:互联网 发布:php没人要了 编辑:程序博客网 时间:2024/06/05 23:20
急问android应用程序如何执行shell脚本命令
跪求大神指点~!
小菜在做一个android应用程序,需要执行系统调用命令,然后我考虑将命令写在.sh脚本里,直接调用脚本执行。
但是调用一直不成功。
我具体用到了如下行的函数调用,系统命令写入了xxxxx.sh里
Process proc=Runtime.getRuntime().exec("/system/bin/sh /system/bin/xxxxx.sh"); 
请懂这个的朋友指点下,谢谢!!

------解决方案--------------------
 这是方法,添加到你的应用程序中即可,比较简陋,呵呵!
public void execShell(String cmd){
     try{  
            //权限设置
            Process p = Runtime.getRuntime().exec("su");  
            //获取输出流
            OutputStream outputStream = p.getOutputStream();
            DataOutputStream dataOutputStream=new DataOutputStream(outputStream);
            //将命令写入
            dataOutputStream.writeBytes(cmd);
            //提交命令
            dataOutputStream.flush();
            //关闭流操作
            dataOutputStream.close();
            outputStream.close();
       }  
       catch(Throwable t)  
        {  
             t.printStackTrace();  
            } 
    }
------解决方案--------------------
先要确认  你在脚本是否能正常在adb.exe窗口 环境下正常执行  脚本读写权限要注意的

如果能正常执行那么

... oncreate(){
       test3()
}

private void test3() {
execCommand1("system/bin/xxxx.sh");
}

public boolean execCommand1(String cmd) {
Process process = null;
try {
process = Runtime.getRuntime().exec(cmd);
process.waitFor();
} catch (Exception e) {
return false;
} finally {
try {
process.destroy();
} catch (Exception e) {
}
}
return true;
}
0 0
原创粉丝点击