解决方案 »
- 如何获取Android手机厂商源码?例如三星i5508的源码
- 关于listview 和cursoradapter中遇到的问题,导致内存溢出,列表很卡!求大侠帮指点!
- Android给我们带来的是什么?机遇?挑战?未来?
- 布局一点都不懂,有必要系统学学它了?
- Bitmap对象,修改为透明.
- Exception locking surface
- 两个fragment,都要调用同一个activity中的方法,怎么做?
- 求大神!!!如何实现actionbar.tab在选中情况下与左右侧相邻处不显示分割线,其他tab之间有分割线效果
- 请教大神:activity跳转问题
- Android开发中,部分代码借鉴别人的
- 请教高手们前辈们一个问题,学android源码有什么用?
- 【求助】ndk cygwin 编译C程序 头文件问题
01
这是方法,添加到你的应用程序中即可,比较简陋,呵呵!
02
public void execShell(String cmd){
03
try{
04
//权限设置
05
Process p = Runtime.getRuntime().exec("su");
06
//获取输出流
07
OutputStream outputStream = p.getOutputStream();
08
DataOutputStream dataOutputStream=new DataOutputStream(outputStream);
09
//将命令写入
10
dataOutputStream.writeBytes(cmd);
11
//提交命令
12
dataOutputStream.flush();
13
//关闭流操作
14
dataOutputStream.close();
15
outputStream.close();
16
}
17
catch(Throwable t)
18
{
19
t.printStackTrace();
20
}
21
}
2. [代码]第二种方式
01
public void execCommand(String command) throws IOException {
02
Runtime runtime = Runtime.getRuntime();
03
Process proc = runtime.exec(command);
04
try {
05
if (proc.waitFor() != 0) {
06
System.err.println("exit value = " + proc.exitValue());
07
}
08
BufferedReader in = new BufferedReader(new InputStreamReader(
09
proc.getInputStream()));
10
StringBuffer stringBuffer = new StringBuffer();
11
String line = null;
12
while ((line = in.readLine()) != null) {
13
stringBuffer.append(line+" ");
14
}
15
System.out.println(stringBuffer.toString());
16
17
} catch (InterruptedException e) {
18
System.err.println(e);
19
}finally{
20
try {
21
proc.destroy();
22
} catch (Exception e2) {
23
}
24
}
25
}