Android执行linux外部命令
来源:互联网 发布:新疆大学教育网络系统 编辑:程序博客网 时间:2024/05/17 15:59
Android运行底层linux外部命令的实现
android的底层实际是Linux内核,当然在shell环境下可以运行linux命令,尤其是经过root处理的android系统,基本上可以通过调用linux命令完全控制手机,下面的RootCmd.java代码就是实现运行linux外部命令。
package my.android.code; import android.os.Environment;import dalvik.annotation.Signature;import java.io.BufferedReader;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.File;import java.io.FileReader;import java.io.InputStream;import java.io.OutputStream;import java.util.Vector; public final class RootCmd{ //执行linux命令并且输出结果 protected static Vector execRootCmd(String paramString) { Vector localVector = new Vector(); try { Process localProcess = Runtime.getRuntime().exec("su ");//经过Root处理的android系统即有su命令 OutputStream localOutputStream = localProcess.getOutputStream(); DataOutputStream localDataOutputStream = new DataOutputStream(localOutputStream); InputStream localInputStream = localProcess.getInputStream(); DataInputStream localDataInputStream = new DataInputStream(localInputStream); String str1 = String.valueOf(paramString); String str2 = str1 + "\n"; localDataOutputStream.writeBytes(str2); localDataOutputStream.flush(); String str3 = localDataInputStream.readLine(); localVector.add(str3); localDataOutputStream.writeBytes("exit\n"); localDataOutputStream.flush(); localProcess.waitFor(); return localVector; } catch (Exception localException) { localException.printStackTrace(); } } //执行linux命令但不关注结果输出 protected static int execRootCmdSilent(String paramString) { try { Process localProcess = Runtime.getRuntime().exec("su"); Object localObject = localProcess.getOutputStream(); DataOutputStream localDataOutputStream = new DataOutputStream((OutputStream)localObject); String str = String.valueOf(paramString); localObject = str + "\n"; localDataOutputStream.writeBytes((String)localObject); localDataOutputStream.flush(); localDataOutputStream.writeBytes("exit\n"); localDataOutputStream.flush(); localProcess.waitFor(); localObject = localProcess.exitValue(); return localObject; } catch (Exception localException) { localException.printStackTrace(); } } //判断机器Android是否已经root,即是否获取root权限 protected static boolean haveRoot() { int i = execRootCmdSilent("echo test"); //通过执行测试命令来检测 if (i != -1) return true; retrun false; } }
- Android执行linux外部命令
- Android执行linux外部命令
- android执行外部操作命令
- PHP在linux上执行外部命令
- Process 执行Linux命令/调用外部程序
- PHP在linux上执行外部命令
- PHP在linux上执行外部命令
- android执行Linux命令
- android执行Linux命令
- android执行Linux命令
- jsp执行外部命令
- jsp执行外部命令
- python 执行外部命令
- java执行外部命令
- apahce2执行外部命令
- scala执行外部命令
- PHP在linux上执行外部命令(整理)
- PHP在linux上执行外部命令(整理)
- 子衿的事(52)
- 学生课堂感受_郭冰
- u盘被写保护
- 未来互联网领域投资方向
- 【欣赏】一组伤感唯美的图片
- Android执行linux外部命令
- 成员函数重载运算符和友元函数重载运算符的比较
- 藏汇于民只是一张空头支票
- cacti数据迁移步骤
- CSDN课的感受总结
- 对.lds连接脚本文件的分析
- Linux用户和组管理
- VS2008下设置与VC6.0相同的字体
- 社会