我在 Windows 7 下的 VMWare Player 中运行 Ubuntu:
root@ubuntu:/# uname -a
Linux ubuntu 3.0.0-17-generic #30-Ubuntu SMP Thu Mar 8 17:34:21 UTC 2012 i686 \
i686 i386 GNU/Linux
我正在尝试通过 USB 建立与 HTC Desire 的网络连接。插入后,输入 lsusb 命令时会显示该设备:
root@ubuntu:/# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 003: ID 0bb4:0c87 High Tech Computer Corp. Desire (debug)
我还可以通过 Android Debug Bridge 与它对话:
root@ubuntu:/# adb devices
List of devices attached
HT08LPL00400 device
当我运行 ifconfig 时,我希望设备出现在 usb0 下,但没有出现 USB 接口:
root@ubuntu:/# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0c:29:4f:5a:28
inet addr:192.168.159.145 Bcast:192.168.159.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe4f:5a28/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:251857 errors:1 dropped:1 overruns:0 frame:0
TX packets:147151 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:340675522 (340.6 MB) TX bytes:12163470 (12.1 MB)
Interrupt:19 Base address:0x2000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:15115 errors:0 dropped:0 overruns:0 frame:0
TX packets:15115 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:5352740 (5.3 MB) TX bytes:5352740 (5.3 MB)
有人知道我该怎么办吗?谢谢!
答案1
Adb 通过 USB 工作,它不设置网络接口。ifconfig
仅显示网络接口。
如果您想在 Ubuntu 和 Android 手机之间运行命令或复制文件,请使用以下adb
命令:
adb shell ls /system
adb push myfile /data/data/myapp.example.com/
一些 Android 设备可以显示为 USB 存储设备,我不知道这是否包括你的。你也可以尝试数据库(据我所知,没有为 Ubuntu 打包,因此您需要自己编译)。
如果你想建立网络连接,例如使用 Android 手机作为互联网网关(这称为共享),告诉adb
您通过 USB 建立 PPP 连接。PPP 接口将作为网络接口出现在 中ifconfig
。这是一个快速而粗略的网络共享脚本,它试图猜测 Android 设备上的正确网络接口;请以 root 身份运行它,风险自负(它不是为在奇怪的设置中保持稳健而设计的)。
# Interface with the default route on the Android device.
android_gw_if=$(adb shell ip route list 0.0.0.0/0 | sed -n -e 's/^.* dev *\([^ ]*\).*/\1/p' -e 'T' -e 'q')
adb ppp "shell:pppd nodetach noauth noipdefault /dev/tty" nodetach noauth noipdefault notty 192.168.254.2:192.168.254.1
adb shell "echo 1 >/proc/sys/net/ipv4/ip_forward"
adb shell "iptables -P FORWARD ACCEPT"
adb shell "iptables -t nat -I POSTROUTING -s 192.168.254.2 -j MASQUERADE -o $android_gw_if"
sleep 1 # give the ppp connection time to establish itself
route add -net default gw 192.168.254.1