android手机通过电脑上网--Milestone(里程碑)利用USB或蓝牙[原创]发表于 2010-6-29 13:25:36
- 经过一个礼拜的研究(笨呀),终于实现了手机通过电脑USB或蓝牙上网。本文以USB为例子。两者其实是一样的。
期间正是世界杯期间,每天晚上主业是研究手机,顺便看球。基本是凌晨睡觉,6:00多起床。
综合研究发现,问题的主要难点集中在dns的设定上。
纠结了多天,昨天在观看斯洛伐克与荷兰的球赛时,突然想,是不是dns的问题。于是用ip访问了一下网络,果然畅通。问题一下从全面进攻转到重点进攻。
今天中吃饭的时间都忘了,草草吃了一点,终于在1:00的时候解决。多日来的苦闷一扫而空,满卷诗书喜欲狂,记录下来,与弟兄姊妹们分享。
手机型号:milestone (听说行货叫xt702)。
步骤:
1.首先一定要安装好MS的驱动程序,立即下载:32bit / 64bit,要看你的操作系统是32bit还是64bit的,选择一个适合自己的下载。安装完后可能会提示你升级,直接升级就可以了,很方便的将原来的驱动更新掉。
2.驱动安装好之后,直接将手机与电脑相连,这时候在手机上选择motorola手机工具,手机会自动找到相关驱动并安装,这时候在电脑网络连接里会多出一个本地连接,可以起名叫Android或者其它你喜欢的名字。
3.鼠标右键点击当前的宽带连接(如果是通过路由器就选本地连接,如果是拨号就选宽带连接)看属性→高级→允许其他用户通过本计算机连接,然后在下面的栏里选择android
4.这时候计算机会重新分配给android一个IP,我们右键点android的属性→网络,选择TCP/IP,再点属性,设置IP,比如设置如下:IP:192.168.100.100;子网掩码:255.255.255.0;首选DNS:8.8.8.8
5.接着需要进入超级终端busybox
6.在手机里安装好APK文件后,找到better terminal 这个程序
一般的教程介绍到这里,忘记了一部非常关键的步骤:一定要重启一次手机。不然会出现busybox route add default gw 192.168.100.100 的时候会出错,因为在前面步骤中连接电脑时,有一些电脑的配置会对手机的ip产生一些影响,例如自动获取了其他网段的ip 。弟兄们切记。
输入
* su
* 跳出授权窗口,点同意
* busybox r oute
* 显示看到如下信息
* Kernel IP routing table
* 10.132.*.*(Iface是rmnet0,你的GPRS或EDGE的IP地址)
* 192.168.100.*(Iface是usb0,这个显然就是USB虚拟出的手机网卡地址)
这两个都不用管,
* default 10.132.*.* (这是MS目前缺省的上网网关→就是手机无线网络的网关)
要做的就是让MS不从这个网关走,(不让MS通过rmnet0走,而是通过usb0走)那么我们就需要首先给USB0 建立一个网关,让它访问
* # busybox r oute add default gw 192.168.100.100 (这里的地址要和我们android的IP相同,就是让MS通过电脑的IP也就是MS的网关,访问网络)
好,设置完毕。查看一下是否添加成功
* # busybox r oute
显示如下
* default 192.168.100.100 (这是USB网关了)
* default 10.132.*.* (这是rmnet0网关)
到这一步的时候操作已接近尾声,可是我发现MS的默认网关总是在我们设置的网关之前先被采用,那么,在better terminal里输入 ifconfig rmnet0 down,暂时关掉默认的无线网关。如果上网结束后,可以输入ipconfig rmnet0 up恢复,或者进入手机设置→无线和网络→移动网络→接入点设置→点菜单里选择恢复默认 就可以了。当然重启手机也可以。到这里已经大功告成了,可以发现很流畅的上网冲浪,但是上下箭头却不会动。
一般的教才在讲到这里的时候,就会说大功告成。其实,最核心的问题出来的,即通过ip上网可以,但是通过域名上网不行。这个时候需要配置DNS。
怎么配置:有人讲到了*#*#6343#*#*;有人讲到了在无线网络设置中启用固定ip和DNS。这些都不是根本的解决办法。
还是要用到超级终端BUSYBOX来设置:
设置DNS:
setprop net.dns1 8.8.8.8
这才是根本。
顺便再赠送几个命令行:
1.使系统文件可写:
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
2.安装Google拼音输入法时遇到ABI不符,无法安装:
vi /system/build.trout.prop
把
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
换成
ro.product.cpu.abi=armeabi
ro.product.cpu.abi2=armeabi-v7a
同样再
vi /system/build.sapphire.prop
有什么需要请在博客上留言吧。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。