如何清除 Milestone 的 Pattern Lock
上周手痒,开了Milestone的图案锁屏,然后同事拿着我的手机玩,结果发现有锁屏,我说你试试吧,反正万一被锁定了还可以用Gmail恢复过来,哪知道同事一玩就锁定了,奇怪的是输入Gmail账户和密码不能解锁,无论输入什么,都是快速又无情地提示“Invalid username or password”. 我再次被 Android 的图案解锁给害了。
其实要说恢复这个很简单,直接在Recovery启动中Wipe一下用户区数据即可,之前的G2也有过类似的经历,但现在的关键问题是我不想Wipe数据啊。Google了一下解决方法,大概有这样几个:
1. 利用解锁的BUG
不断的拨入电话,然后不停的按Home键,总有机会进入HomeScreen, 一旦进入,则取取消屏幕锁即可。
【结论】:此方法经过我无数次尝试都没有成功
2. 使用Sqlite工具来写某个设置项
这个前提条件是手机已经打开了 USB Debugging, 此时插上USB,电脑上会多出一个 ADB Interface. 然后使用 Android SDK的ADB Shell 连接到手机,然后使用Sqlite工具恢复某项设置.
【结论】: 虽然我的机子有了root,但是那也是通过witelist管理的,如果屏幕锁不解开,根本操作不了,shell到手机之后,mount, sqlite3 根本操作不了/data 下面的数据。
经过我的几小时研究,找到了切实可行的解决办法,且听我将步骤慢慢道来:
1. 下载 ADBrecovery v6-1.zip 将里面的recovery目录和update.zip 放到SD卡根目录。
2. 重启手机,摁住 “开机” + “照相”键,然后摁 “音量上”+”照相”键,进入Recovery模式,使用五维导航键OK选择“apply update.zip ”, 此时 adb 服务已经启动。
3. 插上USB,到 Android SDK 的目录,然后打开命令行,运行运行如下命令:
> adb shell
#mount /dev/block/mtdblock18 /system
#mount /dev/block/mtdblock21 /data
#PATH=/sbin:/system/sbin:/system/bin:/system/xbin
#sqlite3 data/data/com.android.providers.settings/databases/settings.db
sqlite> update system set value=0 where name=’lock_pattern_autolock’;
sqlite> .exit
# umount /data
# umount /system
4. 重启手机即可
【注意】:我使用Milestone 的 Recovery 仍为官方的 2.0.1 的Recovery,2.1 或更新的 Reovery可能不支持 上述第一步的 ADBRecovery. 另外我的手机为港行版本,系统区设备号位mtdblock18 数据区设备号为mtdblock21, 不保证这写设备号在你的机器上工作.
相关日志
本文发表于星期日, 五月 30th, 2010 at 上午 2:52 文章归类于 手机.
标签: Android, Milestone.
你可以去 留下评论, 或者

经验教训:兴奋之余要注意防止悲剧发生~:)
[回复]
febird 回复:
五月 30th, 2010 at 下午 9:23
话说 你还打算购买GPhone么?
[回复]
liangjiuer 回复:
五月 31st, 2010 at 下午 9:05
仍是计划中,只是战线又拉长了。。。
[回复]
恭喜!另外,我想知道你的pattern lock 比那个图中的还要复杂么?
[回复]
febird 回复:
五月 31st, 2010 at 上午 1:18
当然比图中的简单。
[回复]