安卓手机使用数据线连接电脑上网

安卓手机使用数据线连接电脑上网

gnirehtet

gnirehtet:
https://github.com/Genymobile/gnirehtet
提供了手机使用电脑USB数据线上网的功能。

下载gnirehtet

进入releases页面:https://github.com/Genymobile/gnirehtet/releases

下载你电脑系统对应的版本即可,如果是Windows系统,则下载Windows版本。
当然,如果想夸平台使用的话,也可以下载Java版本。

解压,添加Path环境变量

我下载的是Windows版本的,下载后将其解压,把gnirehtet.exe所在的目录添加到path环境变量中。

运行gnirehtet

手机使用USB线连接到电脑上,并开启USB调试功能。

然后运行gnirehtet-run.cmd即可,第一次运行会安装gnirehtet.apk,并且要求开启VPN,点确定,授予权限即可。

这个时候手机就可以直接使用usb数据线上网了。可以关掉手机的网络验证。

gnirehtet命令

在您的Android设备上安装APK:

1
gnirehtet install [serial]

在另一个终端中,对于每个客户端,执行:

1
gnirehtet start [serial]

要停止客户端,请执行以下操作:

1
gnirehtet stop [serial]

要重置通道(在gnirehtet处于活动状态时拔下设备并重新插入时,有助于恢复连接):

1
gnirehtet tunnel [serial]

只有当adb devices输出多个设备时,才需要serial参数。

示例

使用USB数据线连接两个手机,执行adb devices -l命令,结果如下:

1
2
3
4
D:\Desktop>adb devices -l
List of devices attached
75aed56d device product:R9PlusmA model:OPPO_R9_Plusm_A device:R9PlusA transport_id:27
U8ENW18117021408 device product:LLD-AL10 model:LLD_AL10 device:HWLLD-H transport_id:28

现在我打算对serialU8ENW18117021408的手机安装gnirehtet.apk

进入gnirehtet根目录

对于path环境变量中的目录下的命令,在cmd中可以使用where命令进行查找:

1
2
3
D:\Desktop>where gnirehtet
F:\软件\可执行_USB上网\gnirehtet-rust-win64-v2.5\gnirehtet-rust-win64\gnirehtet.exe

然后进入gnirehtet的根目录:

1
2
3
D:\Desktop>F:

D:\Desktop>cd F:\软件\可执行_USB上网\gnirehtet-rust-win64-v2.5\gnirehtet-rust-win64

安装apk

输入gnirehtet install U8ENW18117021408命令把gnirehtet.apk安装到U8ENW18117021408这个手机上。

1
2
3
4
5
F:\软件\可执行_USB上网\gnirehtet-rust-win64-v2.5\gnirehtet-rust-win64>gnirehtet install U8ENW18117021408
2022-07-09 15:23:23.962 INFO Main: Installing gnirehtet client...
Performing Streamed Install
Success

看到Success就表示安装成功了

启动gnirehtet client

输入gnirehtet start U8ENW18117021408命令启动客户端。

1
2
3
4
F:\软件\可执行_USB上网\gnirehtet-rust-win64-v2.5\gnirehtet-rust-win64>gnirehtet start U8ENW18117021408
2022-07-09 15:26:18.162 INFO Main: Checking gnirehtet client...
2022-07-09 15:26:18.407 INFO Main: Starting client...
Starting: Intent { act=com.genymobile.gnirehtet.START cmp=com.genymobile.gnirehtet/.GnirehtetActivity }

此时,手机就可以通过USB数据线上网了,可以打开飞行模式,然后再打开一个需要联网的app验证一下。

参考资料

https://github.com/Genymobile/gnirehtet