簡體   English   中英

從java執行adb命令

[英]Execute adb commands from java

我想將文件從我的Java程序推送到Android模擬器。 現在,我可以使用ProcessBuilder啟動模擬器,並捕獲logcat消息。 但是每當我嘗試在進程構建器中使用adb push命令時,進程都會掛起並且不會生成任何輸出。

代碼:

try {
    ProcessBuilder proc = new ProcessBuilder("D://android-sdk//platform-tools//adb.exe",
                                             "push D:\\final.xml /mnt/sdcard/final.xml");
    Process p = proc.start();
    BufferedReader br2 = new BufferedReader(new InputStreamReader(p.getInputStream()));
    while ( (line = br2.readLine()) != null)
        System.out.println(line);
} catch (Exception e) {
    System.err.println("Error");
}

編輯: - 找到可能的解決方案。 我正在使用Process.waitFor()方法但不存儲其返回的exitcode。 現在我這樣做了:

int exitVal = p.waitFor();

一切都充滿了魅力。

和@Marc Van Daele感謝您的投入。 根據我的經驗,ProcessBuilder以兩種方式工作,即。 您可以使用以空格或逗號分隔的參數。 :)

不應該像這樣單獨的論點

ProcessBuilder proc = new ProcessBuilder("D://android-sdk//platform-tools//adb.exe", "push",  "D:\\final.xml", "/mnt/sdcard/final.xml");

暫無
暫無

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

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