解决 pixel 刷机时必须联网的小 trick
问题
在给自己的 pixel 重新刷 rom 时遇到的问题,成功刷入后会进入下面这个界面
![]()
按 开始 按钮后进入 wifi 选择界面,必须要联网才能进行下一步
有的设备有离线模式,能够直接跳过这一步,但不清楚是因为我的设备已经解了 bl 还是因为刷 rom 前没有登出谷歌账号触发了 FRP 或者其他什么原因,总之我的开始界面和联网界面都没有离线启动的选择,只能通过用另外一台设备共享代理的方式让 pixel 能够访问谷歌网络服务
方案一
这个情况在几个月前也遇到过一次,当时算是比较顺利的就解决了。用自己的手机开热点和全局代理,在 clash 配置中打开 局域网代理,允许通过局域网访问代理,然后记住 clash 中的内网 ip 地址和端口号,用 pixel 连接热点 wifi,点击高级选项,代理从无改成手动,代理主机名填写 内网 ip 地址,代理端口就填端口号,其余保持默认不变,这样就能直接连上了
不过这次用同样的方法却失败了,pixel
依旧显示“无法访问互联网”,看了日志后发现,Android
首次开机时并不只是测试普通网页能否访问,系统还会主动进行网络连通性验证,例如请求
connectivitycheck.gstatic.com/generate_204、www.google.com/generate_204、play.googleapis.com/generate_204
等地址,并根据这些请求是否正常返回预期的 HTTP 204 来判断当前 wifi
是否真正具有互联网连接
而之前使用的“wifi 手动代理 + Clash 局域网代理”并不是透明代理,它只能代理那些会遵循系统 HTTP/HTTPS 代理设置的连接,并不能保证 DNS、部分系统级联网检测以及其他网络流量全部经过 Clash。因此就出现了这样一种情况:普通 Google 网页能够访问,但 Android 用来判断网络状态的某些 generate_204 请求却失败或无法获得预期的 204 响应,于是 pixel 仍然把这个 wifi 判定为“无法访问互联网”
方案二
最后换了一种解决方案,借助 VPN Hotspot(需要已 root 手机) + Clash(用的 FlClash) 转发代理,全部由提供热点的手机进行配置,pixel 不用设置任何代理
开启 root 机全局代理
进入 DNS 设置,开启 覆写DNS(开启后将覆盖配置中的DNS选项),开启 状态(关闭后将使用系统 DNS),DNS模式选择 fakeip(至于为什么要开 DNS 覆写,是因为没开前发现有 DNS 泄露的情况,热点客户端 DNS 没有被 FlClash 完整接管)
开启热点,打开 VPN Hotspot,开启 WLAN 热点 和 wlan1
![]()
开发者选项中关闭“网络共享硬件加速”
可以电脑连这个热点进行测试,结果都是 204 的话基本就没什么问题了
1 | |
1 | |
- pixel wifi 选择这个热点 wifi 直接连接就可以了(代理:无,IP:DHCP)