首页 > 解决方案 > 谁能告诉我我的代码有什么问题,每次我运行它我都会得到 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)

任何人都可以解决这个问题。

标签: javaandroidadbuninstallation

解决方案


Runtime.exec()需要一个cmdarray带有命令名和参数的

pro = Runtime.getRuntime().exec(new String[]{"pm", "uninstall", "–k", "––user", "0", "com.google.android.gm"});

推荐阅读