解决WiFi网络受限问题
谷歌从Android 5.0开始就引入了「Captive Portal」机制,主要用来检测WiFi网络认证是否正常,默认检测访问的是谷歌服务器。而国内是无法正常访问谷歌服务的,因为模拟器或原生系统的手机比如笔者的Pixel5,就会出现网络受限、频繁提示无法连接网络问题、WiFi自动断开以及不能自动连接等问题。
解决的办法就修改「Captive Portal」服务器的:
- 删除默认的地址
adb shell settings delete global captive_portal_https_url
adb shell settings delete global captive_portal_http_url
- 设置新的服务器地址
adb shell settings put global captive_portal_http_url http://captive.v2ex.co/generate_204
adb shell settings put global captive_portal_https_url https://captive.v2ex.co/generate_204
- 改完后切换飞行模式,再切换回来,WiFi就能正常识别了。
模拟器设置代理
打开Settings -> Network & internet -> Internet
- 点一下T-Mobile关闭,(变成灰色为关闭状态,蓝色为连接状态);
点一下Android Wifi右边的设置按钮,点右上角的编辑按钮:
Advanced options -> Proxy -> Manual,输入:
Proxy hostname: 10.0.2.2
Proxy port: 1080 (该端口在电脑端小火箭上可以设置)
之后保存即可。
如果AndroidWifi没有显示连接上,点击一下AndroidWifi,然后Disconnect一下,再点击Connect重连即可。再返回Internet页面,即可看到Connected
谷歌账号登录异常(或者沙盒账号)
有时候我们登录沙盒账号成功了,关闭模拟器后一段时间又提示未登录,重新登录的时候提示:
Couldn't sign in
这时候可以尝试一下两种方法:
修改DNS:同上面第一步,在设置,Wifi里找到Android wifi,然后点击右上角,除了保持上面第一步设置的代理地址,拖到底部找到IP settings,选择Static,然后按照下面的输入:
- 重置Google Play:在设置里找到Apps,然后找到GooglePlay,在Storage & cache里清空Storage,然后再底部或者右上角找到“Uninstall updates”;之后在在Apps里找到Google Play Services,同样在Storage & cache里清空Storage。
经过上面2步,都可以尝试重新登录。