簡體   English   中英

java Runtime exec進程無法正常運行

[英]java Runtime exec process do not work properly

當我執行下面從Terminal(使用Ubuntu Linux)添加的命令時,命令將正確執行。 但是,即使沒有錯誤或異常,當我嘗試通過Java應用程序執行完全相同的命令時 ,它也會失敗。

失敗表示此命令將創建一個新文件夾並提取其中的apk文件內容。

要執行的命令

java -jar ~/apktool1.5.2/apktool.jar d /home/talha/Desktop/myapk.apk /home/talha/Desktop/myapk

源代碼:

Process p = Runtime.getRuntime().exec(cmd);
p.waitFor();

試試這個代碼:

    public static void main(String[] args) {    
    String[] cmd = { "/bin/sh", "-c", "java -jar ~/apktool1.5.2/apktool.jar d /home/talha/Desktop/myapk.apk /home/talha/Desktop/myapk" };
    BufferedReader bri = null, bre = null;
    int exitC = 0;
    try {
        Process p = Runtime.getRuntime().exec(cmd);
        exitC = p.waitFor();
        bri = new BufferedReader(new InputStreamReader(p.getInputStream()));
        bre = new BufferedReader(new InputStreamReader(p.getErrorStream()));
        String line = "";
        while ((line = bri.readLine()) != null) {
            System.out.println(line);               
        }
        while ((line = bre.readLine()) != null) {
            System.out.println(line);
        }
        bri.close();
        bre.close();
    } catch (Exception e) {
        e.printStackTrace();
    } 
    System.out.println("Exit Code: "+ exitC);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM