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。

相关推荐
Code Warrior19 分钟前
【MySQL数据库】数据类型
android·数据库·mysql
a***13142 小时前
python的sql解析库-sqlparse
android·前端·后端
r***86982 小时前
mysql的主从配置
android·mysql·adb
.豆鲨包2 小时前
【Android】深入理解Activity的生命周期和IntentFilter
android·java
啃火龙果的兔子2 小时前
安卓从零开始
android
CryptoRzz2 小时前
印度股票数据 PHP 对接文档 覆盖 BSE(孟买证券交易所)和 NSE(印度国家证券交易所)的实时数据
android·服务器·开发语言·区块链·php
安卓蓝牙Vincent3 小时前
Android多SDK合并为单个JAR包的完整指南
android
whatever who cares3 小时前
Java/Android中BigDecimal的相关操作
android·java·开发语言
早上好啊! 树哥6 小时前
安卓开发:清除缓存并重启,删除指定路径下的文件缓存
android·缓存
h***34636 小时前
Nginx 缓存清理
android·前端·后端