【问题标题】:Android emulator does not have eth0 when checked using adb shell ifconfig使用 adb shell ifconfig 检查时,Android 模拟器没有 eth0
【发布时间】:2019-02-18 19:54:34
【问题描述】:

我正在遵循一组如何检查模拟器 ip 的说明(应该是 10.0.2.15)。

指令很简单

adb 外壳 ifconfig eth0

但是我得到以下错误。

ifconfig: eth0: 没有这样的设备

执行 ifconfig -a 给波纹管设备

generic_x86:/ $ ifconfig
radio0    Link encap:UNSPEC
          inet addr:192.168.200.2  Bcast:192.168.200.255  Mask:255.255.255.0
          inet6 addr: fec0::c85f:8d1e:6e52:3f14/64 Scope: Site
          inet6 addr: fec0::7854:d4ff:fe56:b633/64 Scope: Site
          inet6 addr: fe80::7854:d4ff:fe56:b633/64 Scope: Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:725 errors:0 dropped:0 overruns:0 frame:0
          TX packets:728 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:97723 TX bytes:73200

wlan0     Link encap:UNSPEC    Driver mac80211_hwsim
          inet addr:192.168.232.2  Bcast:192.168.239.255  Mask:255.255.248.0
          inet6 addr: fe80::ff:fe44:5566/64 Scope: Link
          inet6 addr: fec0::bcd4:4637:9032:f4cc/64 Scope: Site
          inet6 addr: fec0::ff:fe44:5566/64 Scope: Site
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:96591 errors:0 dropped:0 overruns:0 frame:0
          TX packets:40225 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:132047321 TX bytes:3916668

lo        Link encap:UNSPEC
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope: Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:1075 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1075 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:76576 TX bytes:76576

是否有任何 etho(因此有 10.0.2.15 的 IP 地址?我不这么认为!)或 eth0 不存在以及如何添加、启用或解决此问题?

提前致谢!

【问题讨论】:

    标签: android android-emulator ip adb


    【解决方案1】:

    您使用的是更高版本的 android API (>= 25)。我认为 eth0 在您的模拟器的名称空间路由器中。 API ifconfig 找到它。 API >= 25 的 eth0 在命名空间router,你可以通过输入execns router ifconfig找到它

    【讨论】:

      【解决方案2】:

      在问了这个问题后,我找到了解决方案。这是一种解决方法,并不能真正回答这个问题。但可能会帮助其他遇到类似问题的人。

      而不是访问那个 10.0.2.15 ip(因为没有 eth0 而丢失)。我们可以将android模拟器端口转发到开发机ip(本地ip或者localhost或者127.0.0.1)。

      在开发机器 cmd 提示符或控制台(而不是在 adb shell 中)执行以下命令。

      adb forward tcp: tcp:

      或者在我的情况下,我通过执行以下命令成功访问了 localhost:20202

      adb forward tcp:20202 tcp:8080

      对于那些想知道为什么我在我的 Android 模拟器中运行 http 服务器的人。这是因为我在玩NanoHttpd

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-11-04
        • 1970-01-01
        • 2012-01-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-03
        相关资源
        最近更新 更多