Android系统 无法绑定1024以下端口问题

一,前言

在Android系统中,默认情况下,普通应用程序无法绑定到1024以下的端口(即特权端口),这是出于安全考虑而设计的。这种限制是为了防止普通应用程序伪装成系统服务或者使用系统服务的特权端口,从而提高系统的安全性。只有具有足够权限的应用程序(例如系统服务或者root权限)才能绑定到1024以下的端口。
注: 不建议去修改这个端口号, 最好还是apk内部可以去申请其它端口, 这样也会减少一些冲突。

二,平台修改方法

适用于所有Android版本(userdebug和user版本)。

1,Rockchip平台

Android5.1 - Android11:kernel/include/net/sock.h
Android12 + :kernel-5.10/include/net/sock.h

bash 复制代码
/* Sockets 0-1023 can't be bound to unless you are superuser */
#define PROT_SOCK   1024

2,全志平台

Android4.4 - Android7.1: lichee/linux-3.10/include/net/sock.h
Android10 - Android13: longan/kernel/linux-4.9/include/net/sock.h

bash 复制代码
/* Sockets 0-1023 can't be bound to unless you are superuser */
#define PROT_SOCK   1024

3,海思平台

Android9.0:device/hisilicon/bigfish/sdk/source/kernel/linux-4.9.y/include/net/sock.h

bash 复制代码
/* Sockets 0-1023 can't be bound to unless you are superuser */
#define PROT_SOCK   1024

文件中已声明, 0 - 1023 端仅su用户能使用.所以, 修改的方法是把限制的端口号改低或直接改为0。

相关推荐
JMchen1231 小时前
现代Android图像处理管道:从CameraX到OpenGL的60fps实时滤镜架构
android·图像处理·架构·kotlin·android studio·opengl·camerax
快点好好学习吧2 小时前
phpize 依赖 php-config 获取 PHP 信息的庖丁解牛
android·开发语言·php
是誰萆微了承諾2 小时前
php 对接deepseek
android·开发语言·php
Dxy12393102163 小时前
MySQL如何加唯一索引
android·数据库·mysql
冠希陈、5 小时前
PHP 判断是否是移动端,更新鸿蒙系统
android·开发语言·php
晚霞的不甘7 小时前
Flutter for OpenHarmony从零到一:构建《冰火人》双人合作闯关游戏
android·flutter·游戏·前端框架·全文检索·交互
2601_949833397 小时前
flutter_for_openharmony口腔护理app实战+饮食记录实现
android·javascript·flutter
独自破碎E7 小时前
【滑动窗口+字符计数数组】LCR_014_字符串的排列
android·java·开发语言
stevenzqzq7 小时前
compose 中 align和Arrangement的区别
android·compose
VincentWei957 小时前
Compose:MutableState 和 mutableStateOf
android