Nov 11
前段时间写过一篇文章,告诉大家不要乱改自己android手机的hosts文件。最近经过研究发现,不要乱改这个结论是对的,但是是不够的,正确的结论应该是——最好什么也别改,除非你真的知道自己在做什么。
请大家不要参考我那篇文章中推荐保留的hosts记录,因为几乎全都不需要而且可能带来访问某些服务的障碍。放弃上次的思路,这次我们从完全不用hosts文件出发,发现不同于PC上,手机的网络上大部分google服务是可以正常使用的,不需要修改hosts。只有少数的服务不能用/不太好用,所以我们从0开始,一条条添加hosts记录而不是删除没用的,下面我们就来一条条列举:
1、google listen
是的,你没有看错,如此小众的服务才会需要hosts的帮助,因为这个不受google待见的小app使用了appspot——后果你懂的。我们需要在hosts中加入如下一句:
203.208.46.148 lfe-alpo-gm.appspot.com
2、music beta by google
稍微大众一些的服务了,这个还是比较有价值的。它在国内的网络上的问题很有趣:使用了常用的hosts文件就会不能同步音乐列表,但是去掉hosts文件就会无法播放。为此,你需要确定你的hosts文件中没有这个网址googleapis.l.google.com和这个网址www.googleapis.com,这两个中的某一个(今天白天我实验出来的,现在忘了……)只要设置成google.cn系列的IP,就会导致它不能同步。为了播放音乐,你需要添加以下内容
203.208.46.148 music.google.com
203.208.46.148 t.doc-0-0-sj.sj.googleusercontent.com
203.208.46.148 music-streaming.l.google.com
203.208.46.148 music.googleusercontent.com
203.208.46.148 uploadsj.clients.google.com
203.208.46.148 large-uploads.l.google.com
3、google docs
这个是重头戏,倒不是因为docs有多么重要,关键是因为这玩意太需要天时地利人和了。
首先,你不能有这条记录apis.google.com,不管你设置的是什么IP,只要有这个域名就不行。
其次,你必须有这条记录
209.85.225.101 docs.google.com
注意,既不是google.cn系的IP,也不是你用just-ping得到的香港IP——中文地区用的IP似乎都被过滤了google docs,只有这个欧美用的(根据just-ping的结果)IP似乎勉强能用,但还是断断续续、时好时坏、长文件也很难完整载入
最后,你最好去掉所有的google.com/www.google.com/www.l.google.com等与web访问相关的记录,docs在打开文件的时候有一个复杂的跳转过程,其中似乎会访问到google.com系列的域名,(不是十分确定的)只要你在这些域名上使用了google.cn系IP就会出错。
Read the rest of this entry »
Oct 22
这个研究不仅对国行双网手机有效,对其他手机用户也有很大的参考价值,因为网上的教程基本全都是错的或者有严重错误存在的。要在中国大陆、使用国行双网手机购买android app,需要解决三个问题:
1、让Android Market显示收费程序
众所周知,i909/i809等双网手机使用Market Enabler或其他类似程序是没有效果的。参考这里,说明需要修改系统参数(其实Market Enabler的原理就是这个,完全可以手动完成),但是我修改了之后没有效果,为此参考这里,原来双网机与其他机器不同,需要改两个参数,而且有一个是ruim而不是sim。
两个技巧结合起来,请执行这两条命令(其他的都是多余的):
setprop gsm.ruim.operator.numeric "310004"
setprop gsm.sim.operator.numeric "310260"
但这里需要注意的是,必须打开飞行模式或者拔掉所有手机卡再执行这两个命令,而此时上面这两个参数就是空白(你可以使用getprop命令查看),因此你也可以不修改这两个值,而使用美国VPN,效果是一样的。另外我用手机上的终端模拟器执行这两个命令似乎有些问题,建议使用SSHDroid或类似程序在手机上打开SSH访问再从电脑用putty访问,并执行命令。
然后你需要停止vending程序(即android market)的运行并清除缓存,使用下面两个命令
busybox killall com.android.vending
busybox rm -rf /data/data/com.android.vending/cache
或者你也可以在设置-程序中将电子市场停止运行并清除数据。
简单来说,你应当(1)开启飞行模式,打开wifi并连接上可用的无线网络;(2)执行上面的两个setprop命令或者连接一个可靠的美国VPN;(3)运行上面的命令或者在设置菜单中停止电子市场的运行并清除它的数据。经过这三步,你就能看到电子市场中所有的收费和不对大陆开放的免费软件了,并且你可以下载任何免费软件、升级你已经购买的收费软件和已经下载的免费软件。但此时你还不能购买新软件,需要下面两步:
Read the rest of this entry »
Oct 13
今天早些时候的一篇文章里,我提到了我的手机出错后自己瞎折腾导致数据丢失的惨痛经历。现在我找到了这个错误的原因,虽然我也曾经猜测过,但是在刷机之前没有动手试过——反正也升级了ROM版本,也罢也罢。
错误现象:安装twitter官方客户端,登录后Android系统的设置中“账户与同步”会增加一个twitter账户,默认同步联系人与twitter消息。无论是否取消该账户的同步,点击系统联系人就会出错,提示“android.process.acore进程意外停止,请重试”。即使联系人中没有任何内容,清空联系人,都不能解决此问题。
问题环境:三星i809,Android 2.2.2,官方EG20、EI09两个版本,已root
问题原理:猜测为twitter客户端尝试将twitter上的followers同步为联系人,但同步的联系人格式不正确,导致无法进入联系人页面(这也算是Android的bug吧,有一个联系人数据不正确就不允许我进去改么);或者因为中国国情(你懂的),我是通过修改Hosts文件上的twitter,这可能导致了某些同步功能的不正常。
解决方法:目前经测试,只能停用twitter客户端。卸载客户端,或仅仅在“账户与同步”中删除twitter账户也可解决,这两种方式都令你不得不寻找一个新的twitter客户端——好吧,谁给我介绍一个好用的?
Recent Comments