1. 程式人生 > >android應用程式執行shell指令碼命令

android應用程式執行shell指令碼命令

急問android應用程式如何執行shell指令碼命令
跪求大神指點~!
小菜在做一個android應用程式,需要執行系統呼叫命令,然後我考慮將命令寫在.sh腳本里,直接呼叫指令碼執行。
但是呼叫一直不成功。
我具體用到了如下行的函式呼叫,系統命令寫入了xxxxx.sh裡
Process proc=Runtime.getRuntime().exec("/system/bin/sh /system/bin/xxxxx.sh"); 
請懂這個的朋友指點下,謝謝!!
------解決方案--------------------
 這是方法,新增到你的應用程式中即可,比較簡陋,呵呵!
public void execShell(String cmd){
     try{  
            //許可權設定
            Process p = Runtime.getRuntime().exec("su");  
            //獲取輸出流
            OutputStream outputStream = p.getOutputStream();
            DataOutputStream dataOutputStream=new DataOutputStream(outputStream);
            //將命令寫入
            dataOutputStream.writeBytes(cmd);
            //提交命令
            dataOutputStream.flush();
            //關閉流操作
            dataOutputStream.close();
            outputStream.close();
       }  
       catch(Throwable t)  
        {  
             t.printStackTrace();  
            } 
    }
------解決方案--------------------

先要確認  你在指令碼是否能正常在adb.exe視窗 環境下正常執行  指令碼讀寫許可權要注意的

如果能正常執行那麼

... oncreate(){
       test3()
}

private void test3() {
execCommand1("system/bin/xxxx.sh");
}

public boolean execCommand1(String cmd) {
Process process = null;
try {
process = Runtime.getRuntime().exec(cmd);
process.waitFor();
} catch (Exception e) {
return false;
} finally {
try {
process.destroy();
} catch (Exception e) {
}
}
return true;
}

相關推薦

android應用程式執行shell指令碼命令

急問android應用程式如何執行shell指令碼命令 跪求大神指點~! 小菜在做一個android應用程式,需要執行系統呼叫命令,然後我考慮將命令寫在.sh腳本里,直接呼叫指令碼執行。 但是呼叫一直不成功。 我具體用到了如下行的函式呼叫,系統命令寫入了xxxxx.sh裡

部署在tocmat的程式執行shell指令碼

  1 需要把shell指令碼放在resources目錄下。如shell.sh   2需要在tomcat裡面定位到當前shell的目錄,不要定位到了tomcat的目錄裡面去   定位程式碼 String path1 = Thread.cur

android手機上執行shell指令碼

public class MainActivity extends AppCompatActivity { TextView editText; @Override public void onCreate(Bundle savedInstanceState) {

[init.rc] android開機過程執行shell指令碼

1、在system/core/rootdir/etc/下新增指令碼檔案,命名為myshell.sh,指令碼內容可如下         #! /system/bin/sh 2、修改system/core/rootdir/Android.mk檔案,增加語句         co

Android應用程式執行機制

1、應用程式的系統架構       Android平臺由  應用程式、應用程式框架、Android執行時、系統庫以及底層Linux核心構成, 1.1  應用程式框架        Android應用程式框架是開發 Android應用的基礎,開發者在開發時大部分時間在呼叫這一

Android應用層如何執行shell指令碼

應用層如何執行shell指令碼,通過啟動一個shell指令碼服務執行 private fun execCmd(cmd: String, listener: (isExe: Boolean, result: String?) -> Unit) { Thread(Runn

java中呼叫adb shell 命令啟動android應用程式

先把adb shell命令做成bat檔案,然後再程式中呼叫即可,   adb shell am start -n com.sankuai.meituan/com.sankuai.meituan.act

Linux C 程式執行 shell 命令並獲取返回結果的方法

據說有統計資料表明,程式碼的缺陷率是一定的,與所使用的語言無關。Linux提供了很多的實用工具和指令碼,在程式中呼叫工具和指令碼,無疑可以簡化程式,從而降低程式碼的缺陷數目。Linux shell 指令碼也是一個強大的工具,我們可以根據需要編制指

sh命令 /Linux中執行shell指令碼的4種方法總結

bash shell 指令碼的方法有多種,現在作個小結。假設我們編寫好的shell指令碼的檔名為hello.sh,檔案位置在/data/shell目錄中並已有執行許可權。 方法一:切換到shell指令碼所在的目錄(此時,稱為工作目錄)執行shell指令碼:此種方法為阿里雲推

Android應用程式視窗(Activity)的執行上下文環境(Context)的建立過程分析

                        在前文中,我們簡要介紹了Android應用程式視窗的框架。Android應用程式視窗在執行的過程中,需要訪問一些特定的資源或者類。這些特定的資源或者類構成了Android應用程式的執行上下文環境,Android應用程式視窗可以通過一個Context介面來訪問它,

解決命令執行shell指令碼成功,但crontab執行失敗

命令列執行指令碼成,但crontab執行shell指令碼不成功是由於兩個原因導致 解決方法 1. 路徑問題 檢視crontab中執行該指令碼的路徑是否正確。例如: */1 * * * * cd /mypath/;./my_shell.sh > /d

Linux執行shell指令碼方式及區別&命令後臺執行

假設shell指令碼檔案為hello.sh 放在/root目錄下。下面介紹幾種在終端執行shell指令碼的方法: [[email protected] home]# cd /root/ [[email protected] ~]#vim hello.s

Shell指令碼命令執行順序

如果希望在成功地執行一個命令之後再執行另一個命令,或者在一個命令失敗後再執行另一個命令,&&和||可以完成這樣的功能。相應的命令可以是系統命令或shell指令碼。Shell還提供了在當前shell或子shell中執行一組命令的方法,即使用()和{}。 1.使用&&: 形式:命令

jenkin執行shell指令碼,找不到命令

jenkins預設是用非登入模式來執行shell命令,所有沒有載入環境變數配置檔案。 source /etc/profile 可以如下修改: 新增source /etc/profile

Android 7.0 init.rc 執行shell指令碼 ---- 製作一初始化配置檔案

最近在一個Android 7.0 PDA專案中遇到如下需求:初始化一配置檔案,此配置檔案需要儲存到data分割槽供系統服務和第三方應用進行讀寫操作,另外此配置檔案在系統重啟後保持檔案內容不變,除非恢復出廠才可以恢復成預設配置引數 。因為初始化的配置引數為了方便其它同事修改

Android之在linux終端執行shell指令碼直接列印當前執行app的日誌

1、問題我們一般很多時候會需要在ubuntu終端上列印當前執行app的日誌,我們一般常見的做法是1)、獲取包名      開啟當前執行的app,然後輸入如下命令,然後在第一行TASK後面的就可以看到包名adb shell dumpsys activity top2)、我們的終

使用命令列簽名Android應用程式

在Android程式開發基於完成後,需要對未簽名的應用進行簽名後才可釋出。這樣做的目的是能夠更安全的保護你的應用程式。這裡,就說一下不使用IDE,基於命令列的方式對APK檔案進行簽名。 第一步:生成RSA金鑰對 keytool -genkeypair -alias magi

android apk開機執行shell 命令

一、三個檔案 AndroidManifest.xml BootCompletedReceiver.java ShellExe.java 二、程式碼實現 AndroidManifest.xml android:sharedUserId=

關於crontab自動執行shell指令碼出現的不能執行命令問題

上一篇部落格寫了一個shell指令碼,用來測試計算機硬體資訊、cpu、記憶體等資訊。今天把它扔進crontab裡面想定期執行,並儲存資料。結果出現了問題。。。先看shell指令碼:#!/bin/bash ​ #定義變數NOW,值為當前日期。格式:yyyymmdd NOW=`d

Android開機執行shell指令碼

往往需要在Android啟動過程中去對系統做一些設定,如修改某些資料夾的屬主和檔案的許可權,可在init.rc中增加service執行shell指令碼,從而可在shell指令碼中完成大部分操作。 1、在system/bin/下建立一個shell指令碼init.mbx.