转:破解 Android Market 的区域限制
?
Android Market 电子市场 会根据运营商的不同,而呈现不同的应用列表,身在天朝,有着深刻的体会:
1,搜索”Google”,谷歌地图,Gmail 并未出现在搜索结果中。
2,查看不到没有任何手收费应用。
之前在网上找到个免费的?Market Enabler?,但这个东西有个问题:
1,系统启动后,必须要在电子市场运行之前操作,不能即时切换
2,有广告
后来更具他的源码及帮助,找到了相关的原理?Android market switch简单的说,原理如下:
注:以下操作都需要 root 权限,所以执行前要运行 su
1,设置系统环境变量
?
setprop gsm.sim.operator.numeric MCC_MNC
?这个 MCC_MNC 可以从这里查询:Mobile Network Code
?
直接把把两个值拼接起来就行了,不能省略 MNC 的0,比如天朝移不动的值是:46000,天朝连不通的是:46001,貌似电不信的有错误,这个有待求证,没用过,美国的verizon 是310004。
其他还有比较多的相关环境变量,经过测试,其他的可以不设置,就设置这两个就可以了。
?
(可能有些人说要设置setprop gsm.operator.numeric MCC_MNC 。不要设置这个值,否则会导致?Google Maps 停止纠编,而导致显示位置偏移巨大)
?
?
2,杀掉 Android Market 电子市场的进程
杀掉进程才能重新初始化
?
busybox killall com.android.vending
?这里要说明下,必须要有 busybox ,否则这个命令无法执行(可使用附件中busybox的安装文件)
?
?
3,清理掉缓存文件
如果缓存没清理,会有些诡异的问题,比如推荐列表显示不出来。
原来的代码是将 电子市场 的全部缓存一起清理,这个对于使用天朝运营商的GPRS用户非常不人道的,简直是把人往破产的边缘推。
后来研究了下,只要删除其中几个文件就可以了
?
busybox rm -rf /data/data/com.android.vending/cache/AVMC_UGCR_P_busybox rm -rf /data/data/com.android.vending/cache/AVMC_UGCIR_busybox rm -rf /data/data/com.android.vending/cache/AVMC_UAR{*busybox rm -rf /data/data/com.android.vending/cache/AVMC_PUAR{*
?
?
到这里,整个过程就结束了。
?