1.为什么会激活失败
几个月前把吃灰已久的sheild tv拿出来继续使用时发现原来的系统被玩的有点臃肿,于是就恢复了出厂设置。但是问题来了,当在设置到wifi联网时就是死活连不上,以至于无法成功激活使用。家里的网络环境是肯定是科学的,然后记得之前第一次使用时好像也没碰到过这样的事。网上搜索后得知是google时间服务器的问题,原因是ntp时间服务器走的是udp,而我们的科学环境中一般就只开启tcp。难怪之前在网上有看到有人说google tv的激活很迷幻有时在科学环境下也会激活失败,于是就有了用境外电话卡开热点去激活一说。
2.解决思路
1.既然是安卓设备的话就其实直接可用ADB去更改时间服务器,但问题现在设备还没激活无法开启ADB
2.在科学插件中开启游戏模式(游戏模式就是同时开启了udp代理)或直接开启udp代理,但是尝试后在我这无效(有更优方案,不做进一步研究了)
3.最后就是直接在路由器中把谷歌时间服务器的DNS劫持到国内的时间服务器即可
3.劫持谷歌时间服务器的DNS
以ROS为例:
在DNS Settings——Static中添加一条静态记录如下,把time.android.com劫持到阿里云的ntp203.107.6.88
再次连接wifi后完美激活。
4.关于Chromecast with Google TV
7月初时准备再买一个安卓盒子放乡下给孩子看油管用,本打算入手亚马逊的火棒,结果发现谷歌有出新的Chromecast,关键这次的Chromecast不像先前的产品一样只是一个投屏设备,新版的Chromecast已经算是一个独立的安卓盒子了,可以自行安装一些APP,而且还有遥控器并支持CEC,所以说完整的名字叫Chromecast with Google TV。
关于Chromecast的激活也和其它原生安卓盒子一样需要连谷歌时间服务器,但不同的是Chromecast并不是只有第一次激活时需要连时间服务器,而是在彻底关机后再次启动都需要连接到时间服务器,如果是通过开启udp代理激活后一旦关闭udp代理的话,在之后的使用过程中就有可能还会遇到网络受限的问题。所以说通过劫持DNS才是最优选择。
这次在路由器中设置好DNS劫持后发现并不起作用,经过排查后发现是openclash的上游DNS服务器中添加了ROS的DNS服务器导致的。