gpt4 book ai didi

Android 10 - netstat 执行不正常

转载 作者:行者123 更新时间:2023-12-04 09:19:15 25 4
gpt4 key购买 nike

我正在尝试运行 shell命令在我的 Android 应用程序中以检查是否给予 tcp port是否打开:

Runtime.getRuntime().exec(arrayOf("/system/bin/sh", "-c", "netstat -tulpn | grep :8080"))
在 Android 版本 < 10 中运行此命令,效果很好。如果使用了给定的端口,它将进行完整扫描并返回条目。
但是在 Android 10 中,它不再起作用了。进程 exec 将返回: Process[pid=9534 ,hasExited=true, exitcode=1]阅读时 inputStream进程总是 null , 同时执行 netstat -tulpn | grep :8080正如预期的那样,来自终端将返回一个条目。
运行
Runtime.getRuntime().exec(arrayOf("/system/bin/sh", "-c", "netstat -tulpn"))
单独,解析输出,只会显示:
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program Name
并且根本没有其他数据。
我只在 Android 10 中遇到这个问题,因为对于旧版本它可以工作。
Android 10 中有关 shell 命令的任何更改吗?我有必要运行这个命令。
任何帮助,将不胜感激...

最佳答案

这很可能是因为 Android 10 中改进了隐私保护。
看这里:https://developer.android.com/about/versions/10/privacy/changes#proc-net-filesystem

关于Android 10 - netstat 执行不正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63122056/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com