【发布时间】:2011-12-13 19:53:08
【问题描述】:
我有一个 Android 服务试图绑定到服务器套接字端口 24。由于它是特权端口,因此它因绑定异常而失败。 我想知道我需要做什么才能让这个工作。 我看到这个问题在这个论坛上被问了几次,但没有一个解决方案。
此服务在运行 Android 的设备上运行。我们为设备构建安卓平台。我们拥有所需的所有控制权。
【问题讨论】:
-
根据一般的 Linux 知识,只有以 root 身份运行的进程才能侦听端口 24。您甚至可以以 root 身份运行 Java 应用程序吗?
-
同意。该进程必须以 root 身份运行,或者可能以具有管理员权限的用户 ID 身份运行(不确定 Android 是否支持该 Linux 概念)。通常,如果您控制设备,则不是用 Java 编写守护程序,而是用 C/C++ 编写,并使用普通的 Linux 守护程序支持来启动它们。
-
提升权限的“su ...”方式不是一个选项,因为我绑定到一个端口。我不是想生成一个 shell 脚本。由于每个 android 应用程序基本上都是从 zygote 派生的进程,除非 zygote 基于 SOMETHING 提升权限,否则您无法绑定。我想知道 zygote 是否允许这样做。如果有,那是什么东西?
标签: android port privilege rooted-device