[英]Link adb path from resource to execute shell commands in Java application
[英]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.