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。

相关推荐
wk灬丨25 分钟前
Android Kotlin Flow 冷流 热流
android·kotlin·flow
千雅爸爸25 分钟前
Android MVVM demo(使用DataBinding,LiveData,Fresco,RecyclerView,Room,ViewModel 完成)
android
晨曦_子画1 小时前
编程语言之战:AI 之后的 Kotlin 与 Java
android·java·开发语言·人工智能·kotlin
孤客网络科技工作室1 小时前
AJAX 全面教程:从基础到高级
android·ajax·okhttp
Mr Lee_3 小时前
android 配置鼠标右键快捷对apk进行反编译
android
顾北川_野3 小时前
Android CALL关于电话音频和紧急电话设置和获取
android·音视频
&岁月不待人&3 小时前
Kotlin by lazy和lateinit的使用及区别
android·开发语言·kotlin
Winston Wood5 小时前
Android Parcelable和Serializable的区别与联系
android·序列化
清风徐来辽5 小时前
Android 项目模型配置管理
android
帅得不敢出门6 小时前
Gradle命令编译Android Studio工程项目并签名
android·ide·android studio·gradlew