亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > android如何實現(xiàn)運(yùn)行底層linux外部命令

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

      時間: 春健736 分享

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

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

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

        android的底層實際是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代碼就是實現(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;

        }

        }

      android如何實現(xiàn)運(yùn)行底層linux外部命令相關(guān)文章:

      1.必學(xué)100個常用linux命令大全

      2.LINUX操作系統(tǒng)常用命令有哪些

      3.Linux系統(tǒng)常用命令合集

      4.linuxftp常用命令有哪些

      5.Linux必學(xué)的幾個個命令

      6.初學(xué)者需要學(xué)會Linux的命令

      1369138