Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用pid实现Android上的Kill进程_Java_Android_Linux - Fatal编程技术网

Java 用pid实现Android上的Kill进程

Java 用pid实现Android上的Kill进程,java,android,linux,Java,Android,Linux,我在stackoverflow周围发现了一些类似的问题,但我没有发现 在我的情况下有效的一个 到目前为止,我试过: Runtime.getRuntime().exec(new String[]{"su","-c","kill -9 "+pid}); //am.killBackgroundProcesses(pkgName); //android.os.Process.killProcess(pid); 而如果我从adb输入su-c kill-9pid,它就工作了!为什

我在stackoverflow周围发现了一些类似的问题,但我没有发现 在我的情况下有效的一个

到目前为止,我试过:

    Runtime.getRuntime().exec(new String[]{"su","-c","kill -9 "+pid});
    //am.killBackgroundProcesses(pkgName);
    //android.os.Process.killProcess(pid); 
而如果我从adb输入
su-c kill-9pid
,它就工作了!为什么不以编程方式工作

我需要在
AndroidManifest.xml
中添加任何
权限吗


顺便说一句,这个设备已经扎根了。

首先,用这种方式调用
su
可能不是一个好主意。(pid的每一种变化都可能需要由管理您对
su
调用的任何应用程序授权)大多数人调用
sh
,然后编写他们想要执行的命令

我立即注意到的错误是,您的
-9
需要位于阵列的不同部分。例如:

Runtime.getRuntime().exec(new String[]{"su", "-c", "kill", "-9", ""+pid});

编辑:实际上,这似乎应该是可行的。我忘记了
-c
的参数必须是整个命令

您可以找到一些在Android上以root用户身份执行命令的示例代码

您可以做的另一件事是尝试指定
su
kill
二进制文件的完整路径。(这可能是特定于电话的,所以要小心)


编辑2:我想知道你是否遇到了。您使用的是哪一版本的Android?

这一版本怎么样?有例外吗?您是否检查了adb logcat
?logcat没有提供任何相关信息