事情是酱紫的
Neuxs 7二代,2013年款,14年某宝上面买的,为了体验最新的Android版本,以及奶七的高性价比,于是就买了一个,之后也一直用着比较爽,电影,游戏,看书,看代码,体验原生Android,体验GMS,都是相当不错,直到今年4月份,突然有一天,触摸屏失灵了,在重启了之后,触摸能用了,但是反应不灵,有时要点好几次才有反应,有时则是好的。当时错误以为是装的软件太多了,反应慢,于是干了一件蠢事,做了Factory reset,重启后,一直卡在开机设置页面,网络连接始终不行,无法完成开机设置。
想尽各种办法,使用代理,等,最终还是没用。刷了各种版本的Image都一个鸟样,有人说多试几次,就可以跳过,但是始终无法跳过。后来有人说可能Google那个服务可能不在了,所以即使翻了墙,也还是无法连接上。无奈刷了MIUI,但是版本只是4.4,也失去了奶七的特色。想着刷其他ROM的时候,有了新的发现。
最后发现了这篇神贴,讲述如何跳过Nexus 7的开机设置,虽然是2012看款奶七,也就是Nexus 7一代,但是仍然值得一试。
它的思路就是系统相关的特性都会存在系统的配置文件(/system/build.prop)之中,如果以ROOT方式连接ADB,那么我们就能修改此文件。也就能跳过开机设置的网络连接,甚至跳过开机设置。而高级的recovery都支持ADB,且是以ROOT身份,所以就有了如下的方法:
具体方法
注意: 这是在Ubuntu下面进行,Mac平台的操作是一样的。对于Windows也差不多,只是需要安装手机的驱动程序,驱动程序可以到Goolge官方去下载。
注意: 前提条件是要有ADB和fastboot命令,安装了SDK后就都有了
先解锁bootloader
这个对于奶七还是很简单的,先重启到fastboot模式,关机,按Power+Volumn down来启动,就会启动到fastboot模式,这个模式可以做很多事情。
注意: 对于Windows系统,需要安装手机的驱动程序,不会的可自行Google
fastboot oem unlock 就可以解锁bootloader
- 下载CWM recovery或者TWRP
安装recovery
fastboot flash recovery <clockworkmod-recovery.img>
更改配置
安装完recovery后,重启到recovery模式,在fastboot模式下,用Volumn up/down来选择recovery,按Power选中,就可以重启到recovery mode
连接到电脑,就可以执行ADB命令了,需要注意的是,要先mount一下/system分区,recovery会有一个菜单叫mount storage,进去,选择mount /system,如果不mount /system,你会找不到build.prop文件,因为所在的shell及文件系统是recovery的,并不安卓系统的。
adb remount /system/
之后adb shell cat /system/build.prop就能看到配置信息了
adb shell sed -i ’s/ro.setupwizard.network_required=true/ro.setupwizard.network_required=false/g’ /system/build.prop
注意: 上面是针对最新5.1.1 (LMY48I)的image。对于早期版本,比如4.4 (JSS15Q),配置项是ro.setupwizard.wifi_required,但是改此项并不管用,而是要跳过开机设置才管用也即添加ro.setupwizard.mode=DISABLED到/system/build.prop
重启
adb命令重启木有用,还是用recovery上面的菜单来重启。因为这个ADB是recovery提供的,你会发现里面有很多安卓本身没有的比如像find像sed,因为这个Shell是由recovery里的busybox提供的,安卓系统还没有加载,自然reboot木鸟用。
总结与评论
首先说Google酱紫的做法还是蛮恶心的,完全不考虑我大天朝的人怎么办!连接网络可以有,但至少可以跳过或者忽略啊!不能强制用户,网上也有其他人有此报怨(米国人),因为买奶七的人不一都有网络(那个报怨的米国人就是,大意是给他老爹买的,老爹那里木WiFi,所以很郁闷,无法激活)。
其次,就是解决问题的思路,惭愧虽搞了安卓几年,但是没想出通过设置来跳过开机设置这等高招。XDA论坛还是高手云集的地方,ROOT,recovery和各种Hack基本上都源自XDA论坛。以后遇到这种完全无思路 的问题还是要多救助网络和社区,否则自己搞鼓一辈子,可能也想不到好方案。