UiAutomator uiautomator 报出 java.io.IOException: Permission denied 的错误,求教!!!

paulpeng · 2018年01月07日 · 最后由 paulpeng 回复于 2018年01月08日 · 2942 次阅读

小弟在运营 uiautomator 脚本时,执行了一段 adb shell am broadcast 命令(要从手机执行一个文件操作的命令),但是系统老是提示错误:
Caused by: java.io.IOException: Permission denied

at java.lang.ProcessManager.exec(Native Method)

at java.lang.ProcessManager.exec(ProcessManager.java:209)

... 17 more

具体相关代码如下:
String temp= "adb shell am broadcast -a com.testtek.cmpp.action_test_record_file --es ext_test_record_file "+ mobPath + "zh05.wav";
Runtime.getRuntime().exec(temp);

如果在 windows cmd 中执行这个 adb shell am broadcast 命令是正常的,但是一运行这段代码就提示第二行有错误。具体错误内容就如上所示,尝试了很多方法还是不行,求助各位大神帮忙,谢谢各位!

共收到 2 条回复 时间 点赞

首先你这段命令是在脚本中运行的吧,根本就不需要加 adb shell 前缀。然后如果你用的是 u2,不允许直接 runtime 运行 shell 脚本的,可以使用 UIDevice.executeShellCommand。

—— 来自 TesterHome 官方 安卓客户端

Crazyerick 回复

问题解决了,正如楼上所说,确实不用加上 adb shell,直接运行后面的脚本命令即可,谢谢了!

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册