真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

手機執(zhí)行l(wèi)inux命令,手機運行l(wèi)inux命令

在linux 上做的事,在安卓手機的命令行上也能做嗎?

不能,雖然兩者都是基于同一內(nèi)核開發(fā)的產(chǎn)品,但是兩者經(jīng)過了后期開發(fā),兩者為了達到一些應用都做了優(yōu)化、改動,所以在linux 上能做的事情,在安卓那里就不能做,不是說一定不能,這個是可以通過一些小的應用來實現(xiàn)一些的(個人見解)

目前累計服務客戶近1000家,積累了豐富的產(chǎn)品開發(fā)及服務經(jīng)驗。以網(wǎng)站設計水平和技術實力,樹立企業(yè)形象,為客戶提供成都網(wǎng)站設計、成都網(wǎng)站制作、網(wǎng)站策劃、網(wǎng)頁設計、網(wǎng)絡營銷、VI設計、網(wǎng)站改版、漏洞修補等服務。創(chuàng)新互聯(lián)始終以務實、誠信為根本,不斷創(chuàng)新和提高建站品質(zhì),通過對領先技術的掌握、對創(chuàng)意設計的研究、對客戶形象的視覺傳遞、對應用系統(tǒng)的結(jié)合,為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進步。

如何在APK程序里執(zhí)行l(wèi)inux命令

Android的底層是Linux內(nèi)核,因此在shell環(huán)境下可以運行Linux命令,尤其是經(jīng)過root處理的android系統(tǒng),基本上可以通過調(diào)用Linux命令完全控制手機,下面的RootCmd.java代碼可以實現(xiàn)運行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

{

//執(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命令但不關注結(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();

}

}

//判斷機器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 獲取root權(quán)限 執(zhí)行Linux命令 檢測是否有ROOT權(quán)限

Android繼承了Linux權(quán)限嚴格的優(yōu)點,很多命令需要root權(quán)限才能執(zhí)行,比如說查看系統(tǒng)目錄文件等,如果我們的程序需要用到查看此類文件或執(zhí)行系統(tǒng)命令,就必須先獲取Root權(quán)限。網(wǎng)上看了很多版本的檢測是否有Root權(quán)限的方法,結(jié)果不論是否有權(quán)限,都返回true,根本就沒有用,下面的方法經(jīng)真機檢測確定可行。

上代碼:

package com.pocketdigi;

import java.io.DataInputStream;

import java.io.DataOutputStream;

import java.io.InputStream;

import java.io.OutputStream;

import android.app.Activity;

import android.os.Bundle;

public class RootActivity extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

DataInputStream stream;

if(isRooted()){

try {

stream = Terminal("ping -c 2 ");

//其實ping并不需要root權(quán)限 ,這里是ping 2次后才停止,所以啟動后需要一點時間才會有顯示

//你可以自己換成需要root權(quán)限的命令試試

String temp;

while((temp=stream.readLine())!=null){

System.out.println(temp);

//循環(huán)輸出返回值

}

} catch (Exception e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

}

}

public DataInputStream Terminal(String command) throws Exception

{

Process process = Runtime.getRuntime().exec("su");

//執(zhí)行到這,Superuser會跳出來,選擇是否允許獲取最高權(quán)限

OutputStream outstream = process.getOutputStream();

DataOutputStream DOPS = new DataOutputStream(outstream);

InputStream instream = process.getInputStream();

DataInputStream DIPS = new DataInputStream(instream);

String temp = command + "\n";

//加回車

DOPS.writeBytes(temp);

//執(zhí)行

DOPS.flush();

//刷新,確保都發(fā)送到outputstream

DOPS.writeBytes("exit\n");

//退出

DOPS.flush();

process.waitFor();

return DIPS;

}

public boolean isRooted() {

//檢測是否ROOT過

DataInputStream stream;

boolean flag=false;

try {

stream = Terminal("ls /data/");

//目錄哪都行,不一定要需要ROOT權(quán)限的

if(stream.readLine()!=null)flag=true;

//根據(jù)是否有返回來判斷是否有root權(quán)限

} catch (Exception e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

return flag;

}

}


本文名稱:手機執(zhí)行l(wèi)inux命令,手機運行l(wèi)inux命令
當前路徑:http://weahome.cn/article/dsiejec.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部