1. 程式人生 > >Runtime.getRuntime().exec(cmd)執行adb shell腳本可能出現的問題

Runtime.getRuntime().exec(cmd)執行adb shell腳本可能出現的問題

執行 eve (()) 十六進制 解決辦法 /dev/ dev exec 進制

例如:adb shell sendevent /dev/input/event3 1 $((0xca)) 1
上面語句中含有$((0xca)) ,執行Runtime.getRuntime().exec("sendevent /dev/input/event3 1 $((0xca)) 1"),不會報錯,但也不會生效,解決辦法為:

(1)先將$((0xca))中的0xca的十六進制轉換為十進制202,$((202)),再執行Runtime.getRuntime().exec("sendevent /dev/input/event3 1 $((202)) 1"),但還是不會報錯,但不能生效。

(2)最後將$((202))的$(())去掉,就剩下202,執行Runtime.getRuntime().exec("sendevent /dev/input/event3 1 202 1"),執行後生效,問題解決。

Runtime.getRuntime().exec(cmd)執行adb shell腳本可能出現的問題