2014-03-28 85 views
0

我正在使用以下代碼通過android應用程序運行shell腳本。我能夠運行腳本,但只有echo命令正在執行。像netcfg,cat,route,setprop這樣的命令沒有被執行。有沒有我錯過的任何許可或任何其他事情。請告訴我。從Android應用程序運行Shell腳本時的權限問題

public void run() { 
    // TODO Auto-generated method stub 

    String path; 
    path="/system/bin/sh /persist/eth0.sh"; 
    Process p; 
    try { 
     p = Runtime.getRuntime().exec(path); 
      InputStream is = p.getInputStream(); 
      InputStreamReader isr = new InputStreamReader(is); 
      BufferedReader br = new BufferedReader(isr); 
      String line; 

     while ((line = br.readLine()) != null) { 
     System.out.println(line); 
     } 



    } catch (IOException e1) { 
     // TODO Auto-generated catch block 
     e1.printStackTrace(); 
    } 

} 

回答

0

Android有它自己的linux kerneal,並沒有附帶在桌面發行版中找到的所有常用命令。

+0

但是,如果我從終端(adb外殼)運行相同的腳本,它正常運行沒有任何問題。只有當我嘗試通過android應用運行腳本時,許多命令不會被執行。 – Nirmal

+0

以下是命令行參考: https://github.com/jackpal/Android-Terminal-Emulator/wiki/Android-Shell-Command-Reference –

+0

該鏈接講述了可以在shell中使用的命令,因爲我前面提到腳本運行完美,如果通過adb外殼運行,但是當我通過android應用運行時,它會給出問題。 – Nirmal

相關問題