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。

相关推荐
Dnelic-3 小时前
【单元测试】【Android】JUnit 4 和 JUnit 5 的差异记录
android·junit·单元测试·android studio·自学笔记
Eastsea.Chen5 小时前
MTK Android12 user版本MtkLogger
android·framework
长亭外的少年12 小时前
Kotlin 编译失败问题及解决方案:从守护进程到 Gradle 配置
android·开发语言·kotlin
建群新人小猿15 小时前
会员等级经验问题
android·开发语言·前端·javascript·php
1024小神16 小时前
tauri2.0版本开发苹果ios和安卓android应用,环境搭建和最后编译为apk
android·ios·tauri
兰琛16 小时前
20241121 android中树结构列表(使用recyclerView实现)
android·gitee
Y多了个想法17 小时前
RK3568 android11 适配敦泰触摸屏 FocalTech-ft5526
android·rk3568·触摸屏·tp·敦泰·focaltech·ft5526
NotesChapter18 小时前
Android吸顶效果,并有着ViewPager左右切换
android
_祝你今天愉快19 小时前
分析android :The binary version of its metadata is 1.8.0, expected version is 1.5.
android
暮志未晚Webgl19 小时前
109. UE5 GAS RPG 实现检查点的存档功能
android·java·ue5