java - 谁能告诉我我的代码有什么问题,每次我运行它我都会得到 io 异常错误
问题描述
这是我的代码基本上在手机中使用 adb 来卸载应用程序,但目前它无法正常工作,任何人都可以帮助我
Process pro;
StringBuilder output = new StringBuilder();
try {
pro = Runtime.getRuntime().exec(new String[]{"pm uninstall –k ––user 0
com.google.android.gm"});
BufferedReader reader = new BufferedReader(
new InputStreamReader(pro.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
output.append(line).append(" ");
pro.waitFor();
}
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
String response = output.toString();
System.out.println(response);
Log.d("log", response);
这是我得到的错误
W/System.err: java.io.IOException: Cannot run program "pm uninstall –k ––user 0
com.google.android.gm": error=13, Permission denied
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1050)
W/System.err: at java.lang.Runtime.exec(Runtime.java:698)
at java.lang.Runtime.exec(Runtime.java:563)
at com.example.adb.MainActivity.onCreate(MainActivity.java:23)
任何人都可以解决这个问题。
解决方案
Runtime.exec()
需要一个cmdarray
带有命令名和参数的
pro = Runtime.getRuntime().exec(new String[]{"pm", "uninstall", "–k", "––user", "0", "com.google.android.gm"});
推荐阅读
- javascript - 在 javascript 中使用 toLocaleString 模块得到错误的结果
- node.js - 使用 azure DevOps 管道部署 Azure 函数应用
- python - 如何拆分括号内用逗号分隔的字符串
- reactjs - react-stripe-elements v1.1.0 createPaymentMethod 在 react 15.6.2 中不起作用
- facebook-graph-api - Facebook Graph API - 无权发布到群组
- google-analytics - Shopify - 如何在页面加载后加载谷歌分析?
- javascript - 离线创建反应应用程序需要什么?
- node.js - Firebase 未更新到节点 12
- angular - Angular10 中的延迟加载路由
- sql - 如何从下面的 SQL 表中获取结果查询?