有没有办法通过USB与我的Android共享计算机的Internet连接?

有没有办法使用手机数据线与我的Android 2.2.1共享我的桌面互联网连接?

好吧,它可以使用root的2.2+设备完成。 这并不简单。

在我开始之前,您可能会发现通过它更容易购买便宜的USB Wifi加密狗并与手机共享连接。 这是一个更简单的过程,不需要手机root。

但这是如何通过USB实现的:

  1. 将手机置于USB调试模式(在设置→应用程序→USB)中。 插上电话。

  2. 然后你需要在手机上打开USB网络共享。 在我的SGS2上,它位于设置→无线和网络→绑定和便携式热点。

    此时,新的网络设备将添加到计算机( usb0 )。

  3. 触发以下命令以桥接eth0和新的USB连接。

     sudo apt-get install bridge-utils sudo brctl addbr br0 for i in eth0 usb0; do sudo ifconfig $i 0.0.0.0 sudo brctl addif br0 $i done sudo ifconfig br0 up sudo dhclient br0 # might take a few seconds 
  4. 然后在手机上加载终端(或使用SDK adb shell)并关闭(以root用户身份):

     netcfg usb0 dhcp 

要扭转这一切:

 for i in eth0 usb0 br0; do sudo ifconfig $i down; done sudo brctl delbr br0 sudo ifconfig eth0 up sudo dhclient eth0 

为了使事情稍微容易一些,那里有一些用于电话方面的应用程序(例如ASProxy),但你仍然需要一个有根的2.2设备。 事物的计算机方面可以编写脚本。 当你插入手机时,你甚至可以挂钩进入udev来关闭这些命令(并在拔掉它时摧毁桥接器)。

关于带有Nexus One的Android 2.2 Reverse USB Tethering有一些旧笔记。

我一直在计划尝试这个,而不是根植我的HTC DHD。
它有一个Internet Pass-through选项,适用于Windows,
所以,我想知道这是否可以通过Ubuntu在同一行使用…
尚未尝试 – 很想知道任何第一手经验。

这些说明的要求是,

Android 2.2(或带有root tethering应用程序的旧版本)
Android SDK中的ADB,或root模式下的终端Android 2.2