導航:首頁 > 程序命令 > 安卓如何執行shell命令

安卓如何執行shell命令

發布時間:2025-03-10 20:27:27

❶ 如何在android裡面執行adb shell命令

ADB介面的作用主要是讓電腦等其它設備控制安卓系統的,所以,稱為「中間橋」;
不是為安卓自已用的,自已可直接執行稱為SHELL,這與ADB無關。
所以安卓java不一定有封裝的ADB類。電腦上有ADB服務程序,埠5037,
它是中間程序,與安卓系統上守護進程(Daemon)通訊。
如果要在自已的手機上應該也能執行adb命令,應該直接跟守護進程
(Daemon)通訊了。網路上可以搜到的方法並不滿意。

樓主用exec執行CMD命令,這已不是ADB介面了,這是系統的SHELL了!!!

自已用socket/tcp直接發命令效果不知怎樣,地址用127.0.0.1, 安卓daemon進程的埠
5555 是奇數開始。

❷ 如何在android程序中執行adb shell命令

android中執行shell命令有兩種方式:

1.直接在代碼中用java提供的Runtime 這個類來執行命令,以下為完整示例代碼。

public void execCommand(String command) throws IOException {

// start the ls command running

//String[] args = new String[]{"sh", "-c", command};

Runtime runtime = Runtime.getRuntime();

Process proc = runtime.exec(command); //這句話就是shell與高級語言間的調用

//如果有參數的話可以用另外一個被重載的exec方法

//實際上這樣執行時啟動了一個子進程,它沒有父進程的控制台

//也就看不到輸出,所以需要用輸出流來得到shell執行後的輸出

InputStream inputstream = proc.getInputStream();

InputStreamReader inputstreamreader = new InputStreamReader(inputstream);

BufferedReader bufferedreader = new BufferedReader(inputstreamreader);

// read the ls output

String line = "";

StringBuilder sb = new StringBuilder(line);

while ((line = bufferedreader.readLine()) != null) {

//System.out.println(line);

sb.append(line);

sb.append(' ');

}

//tv.setText(sb.toString());

//使用exec執行不會等執行成功以後才返回,它會立即返回

//所以在某些情況下是很要命的(比如復制文件的時候)

//使用wairFor()可以等待命令執行完成以後才返回

try {

if (proc.waitFor() != 0) {

System.err.println("exit value = " + proc.exitValue());

}

}

catch (InterruptedException e) {

System.err.println(e);

}

}

}


2.直接安裝shell模擬器,即已經開發好的android應用,啟動後類似windows的dos命令行,可以直接安裝使用,可執行常用的linux命令,應用在附件。



閱讀全文

與安卓如何執行shell命令相關的資料

熱點內容
蘋果庫樂隊怎麼連接伺服器 瀏覽:552
程序員埋bug的心理 瀏覽:257
好多個g的文件夾怎麼轉發 瀏覽:321
javadesaes加密 瀏覽:126
基於單片機的wifi設計 瀏覽:885
國什麼app 瀏覽:366
rtk文件夾沒了怎麼辦 瀏覽:187
飢荒安卓閃退怎麼辦 瀏覽:635
python二次開發cad 瀏覽:304
程序員直播機器人舞團 瀏覽:769
devc指針編譯問題 瀏覽:1002
支持dsd硬解壓音效卡 瀏覽:771
怎麼查看u盤加密區 瀏覽:184
台電加密是什麼格式 瀏覽:158
php論壇版塊在哪個文件夾 瀏覽:442
暗黑的伺服器為什麼維護 瀏覽:624
android內存溢出的原因 瀏覽:18
標志307的壓縮比是多少 瀏覽:637
伺服器啟動為什麼叫三聲 瀏覽:997
追風箏的人英文pdf 瀏覽:940