国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

android如何實(shí)現(xiàn)運(yùn)行底層linux外部命令

2020-10-14 22:35:26
字體:
供稿:網(wǎng)友

Android繼承了linux權(quán)限嚴(yán)格的優(yōu)點(diǎn),那么大家知道android如何實(shí)現(xiàn)運(yùn)行底層linux外部命令嗎?下文小編就分享了android實(shí)現(xiàn)運(yùn)行底層linux外部命令的方法,希望對大家有所幫助。

android實(shí)現(xiàn)運(yùn)行底層linux外部命令方法

android的底層實(shí)際是Linux內(nèi)核,當(dāng)然在shell環(huán)境下可以運(yùn)行l(wèi)inux命令,尤其是經(jīng)過root處理的android系統(tǒng),基本上可以通過調(diào)用linux命令完全控制手機(jī),下面的RootCmd.java代碼就是實(shí)現(xiàn)運(yùn)行l(wèi)inux外部命令。

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

{

//執(zhí)行l(wèi)inux命令并且輸出結(jié)果

protected static Vector execRootCmd(String paramString)

{

Vector localVector = new Vector();

try

{

Process localProcess = Runtime.getRuntime().exec("su ");//經(jīng)過Root處理的android系統(tǒng)即有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();

}

}

//執(zhí)行l(wèi)inux命令但不關(guān)注結(jié)果輸出

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();

}

}

//判斷機(jī)器Android是否已經(jīng)root,即是否獲取root權(quán)限

protected static boolean haveRoot()

{

int i = execRootCmdSilent("echo test"); //通過執(zhí)行測試命令來檢測

if (i != -1) return true;

retrun false;

}

}

123
(責(zé)任編輯:VEVB)

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 福海县| 西安市| 青浦区| 茶陵县| 深圳市| 红河县| 慈溪市| 通渭县| 鸡西市| 高清| 泊头市| 抚顺县| 含山县| 宜黄县| 高邮市| 高阳县| 红安县| 福安市| 潞城市| 秭归县| 南昌市| 依安县| 黑水县| 朝阳县| 伊通| 齐齐哈尔市| 沈丘县| 舟曲县| 曲周县| 横峰县| 龙井市| 金塔县| 定兴县| 昌吉市| 梁平县| 从江县| 吉水县| 商洛市| 饶阳县| 乐都县| 寻甸|