Android在Shell环境下运行Linux命令
2012-05-24 11:08
357 查看
Android在Shell环境下运行Linux命令
[日期:2010-09-06] | 来源:Linux社区 作者:monner |
package my.Android.code;
import Android.os.Environment;
import dalvik.annotation.Signature;
[align=center] [/align] |
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在shell环境下运行linux命令
- Android在Shell环境下运行Linux命令
- 新人入门linux环境搭建及shell文件运行测试实例
- Linux系统运行状况相关的Shell命令
- 在shell环境中,如何查看远程Linux系统运行了多少时间?
- win7 cmd终端连接android手机运行adb shell脚本命令
- Android自动化工具Monkeyrunner使用(七) ——在linux环境ubuntu平台上使用Eclipse运行monkeyrunne
- win7 cmd终端连接android手机运行adb shell脚本命令
- Linux执行shell脚本方式及区别&命令后台运行
- Linux下使Shell 命令脱离终端在后台运行
- LINUX入门常用命令之在Linux环境下运行DOS命令
- Linux下使Shell 命令脱离终端在后台运行
- android环境抓Wireshark码流数据包,shell命令操作
- 关于linux的export命令和shell变量的生命周期,环境变
- android 在手机sd 卡中执行linux 命令 和shell 脚本
- Linux下使Shell 命令脱离终端在后台运行
- linux下运行C程序启动shell命令
- Linux终端:运行自定义命令而不是Shell,造成终端总是闪退
- Ubuntu-Linux环境下通过命令搭建android环境 通多ant脚本自动打包apk
- 在Linux环境下运行DOS命令