4/13/2011

卸载SSHTunnel后android内置浏览器可能无法使用的解决过程

前几天看到一篇日志教程 android手机上面安装SSH Tunnel,手痒的进行了安装,由于主机设置问题,反向代理没有设置成功,便卸载了apk。
这几天使用android内置的chrome lite进行上网,发现无法连接,一开始也没有在意,因为浏览的都是所谓“美国阻止中国访问的”网站,后来浏览国内正常网页,发现也连接不上了。
原因只有可能与安装卸载SSH Tunnel有关。

大胆的猜测,应该是chrome lite走了本地的代理配置,没有生效导致。

上网google了如何在android手机设置chrome代理。找到了些类似的解决方案,也许安装的SSH Tunnel也是一样的方法吧。

流程:
0.本地有安装android-sdk,通过USB把手机连上并设置允许debugging。
1.命令行进入sdk的tool目录
2.输入 adb devices 回车, 确认下有手机连接上
3.adb shell  ls /data/data/com.google.android.providers.settings/databases/  #查看这个文件是否存在 (可能会提示没有权限 因为我的手机没有root过)
4.下载了一键root的工具SuperOneClick v1.7
5.root后 可以执行ls命令 但是这个目录下只有googlesettings.db 没有所谓的settings.db
6.adb pull /data/data/com.google.android.providers.settings/databases/googlesettings.db #放到本地后肯定要通过sqlite分析
7.因在windows下操作的 所以下载了sqlite-shell-win32-x86-3070600.zip 解压该文件后 命令行进入该目录 快速浏览下sqlite的faq 。.tables 列出表 并没有system表,应该是分析错文件了
8.ls /data/data 都列出来后,通过分析找到 /data/data/com.android.providers.settings/databases/settings.db
9.再次pull出来 使用sqlite分析找到了表 system.
10. select * from system; #找到包含 http_proxy的数据 配置的是127.0.0.1:8080
11. detele from system where _id=*** #删除相应id的记录
12. adb push settings.db /data/data/com.android.providers.settings/databases/ #覆盖回去
13. chown system:system /data/data/com.android.providers.settings/databases/ #还原下用户归属 (开始没有在意,结果手机重启后差点成板砖)
14. 重启 完成