2014-09-23 101 views
2

我是Android編程的新手,我需要創建一個Android應用程序來運行Shell腳本上的按鈕單擊事件。 我正在使用下面的命令,但沒有發生任何操作。Android程序運行Shell腳本

Process p; 
       try { 
        p = new ProcessBuilder() 
        .command("/data/test.sh") 
        .start(); 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } finally { 
        if(p!=null) p.destroy(); 
       } 
  1. 我已經創建了 「Data」 文件夾,並保持我的shell腳本存在。
  2. 擁有電話根權限。

在此先感謝。 :)

回答

1

要執行shell腳本,您首先需要通過使用chmod +x來爲其執行權限。
然後,您可以使用p.waitFor()(在start()之後)並等待它完成執行。

要讀你的腳本的輸出,你可以做到以下幾點:

BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(p.getInputStream())); 
// reading part comes here 

如果您在模擬器中運行這個,你需要看看這個:
http://russelldavis.blogspot.in/2011/01/rooting-android-emulator.html

來源:
execute shell command from android
How to Executing Shell commands through android app?

旁白:
Difference between ProcessBuilder and Runtime.exec()

+0

謝謝,請嘗試遵循... :) – 2014-09-23 09:37:23