You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android 11无法同时使用WiFi与Ethernet导致本地API访问异常求助

Android 11 同时连接以太网与WiFi解决方案

问题根因

Android 11 默认网络优先级规则为WiFi > 以太网,当WiFi连接成功后,系统会将全局默认路由绑定到WiFi接口,以太网接口仅保留链路层连接,不会处理除同网段ARP之外的流量,因此无法访问以太网侧的本地API。
你之前参考的旧帖是针对Android 4.x~9.x的方案,Android 10之后系统修改了网络路由的权限逻辑,原来的配置修改入口已经被移除或隐藏,所以找不到对应选项是正常情况。

无Root可行方案

  • 自行开发访问以太网API的应用时,调用系统ConnectivityManager的requestNetwork方法指定以太网传输类型,绑定对应网络后发起请求即可,适配Android 11的示例代码如下:
val request = NetworkRequest.Builder()
    .addTransportType(NetworkCapabilities.TRANSPORT_ETHERNET)
    .build()
// 注册网络回调
connectivityManager.requestNetwork(request, object : ConnectivityManager.NetworkCallback() {
    override fun onAvailable(network: Network) {
        super.onAvailable(network)
        // 访问以太网API时使用返回的network对象发起请求
        // 示例OkHttp配置:client.newBuilder().socketFactory(network.socketFactory).build()
    }
})
  • 全局保留以太网本地网段路由时,打开开发者选项,在「网络」分类下找到「多网络共存」(部分厂商ROM命名为「以太网路由优先级」),开启后系统会同时保留WiFi和以太网的路由表。
  • 找不到对应开关时可以通过ADB命令临时生效:
    1. 开启设备的USB调试,连接电脑后执行adb shell进入设备命令行
    2. 执行ip route show查看所有路由信息,记录以太网接口(通常命名为eth0/eth1)对应的本地网段,例如192.168.2.0/24
    3. 手动添加静态路由:ip route add 192.168.2.0/24 dev eth0 table 1000(替换为实际的网段和接口名)
    4. 配置路由规则:ip rule add to 192.168.2.0/24 lookup 1000 priority 1000

注意:ADB配置的规则重启设备后会失效,需要重新执行命令。

Root永久生效方案

  • 修改系统开机初始化脚本:挂载/system分区可写,在/system/etc/init/目录下的网络启动脚本的on boot段添加上述ADB路由命令,开机自动执行。
  • 安装Magisk模块「Multi Network Enabler」,刷入后开启对应开关即可自动适配双网络共存规则,无需手动配置路由。

内容的提问来源于stack exchange,提问作者DAVID PAOLO RAMIREZ MORALES

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 07:27:05