如何让Android系统或Android应用执行shell脚本 第2页

 我来答
厦门侯
高粉答主

2016-01-21 · 信息管理员
厦门侯
采纳数:30618 获赞数:90296

向TA提问 私信TA
展开全部
android系统执行shell脚本,需要首先确认用户具有修改shell的权限,使用 process来执行指令,如下代码:
public void execShell(String cmd){
try{
//权限设置
Process p = Runtime.getRuntime().exec("su"); //开始执行shell脚本
//获取输出流
OutputStream outputStream = p.getOutputStream();
DataOutputStream dataOutputStream=new DataOutputStream(outputStream);
//将命令写入
dataOutputStream.writeBytes(cmd);
//提交命令
dataOutputStream.flush();
//关闭流操作
dataOutputStream.close();
outputStream.close();
}
catch(Throwable t)
{
t.printStackTrace();
}
}
蘑菇饭资讯
2014-11-09 · TA获得超过6万个赞
知道大有可为答主
回答量:1.7万
采纳率:90%
帮助的人:1.2亿
展开全部
2、在应用中启动服务

在应用程序中调用:do_exec(start usblp_test);

do_exec的实现如下:

private String do_exec(String cmd) {
String s = "/n";
try {
Process p = Runtime.getRuntime().exec(cmd);
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = null;
while ((line = in.readLine()) != null) {
s += line + "/n";
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
text.setText(s);
return cmd;
}

Android下用Exec执行linux命令的源代码下载地址:

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /2012年资料/12月/13日/如何让Android系统或Android应用执行shell脚本

二、编译源码执行shell脚本
这个方法很简单,脚本已经写好了,现在要解决的问题是在什么时候怎么执行这个脚本,经过验证最佳的位置在system/core/init/init.c,main函数中的如下位置,

queue_builtin_action(queue_property_triggers_action, "queue_propety_triggers");

#if BOOTCHART

queue_builtin_action(bootchart_init_action, "bootchart_init");

#endif

/*add by weijing */

system("exec /system/bin/sh /data/setip/init.djstava.sh");

/*end by weijing */

for(;;) {
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式