Android.local的用途和目的是什么?

5

最近我正在研究 Android-Things SDK,并已经将其安装到我的Raspberry Pi设备上。

为了连接Raspberry Pi和ADB,我使用了以下命令:

adb connect <ip address>:5555

但是我发现了这样的东西:
adb connect Android.local

参考资料

我在谷歌上搜索了很多关于 Android.local 的内容,但是没有找到相关文档。请问是否有相关文档可供查询?


1
我在Android Things文档中发现了这个隐藏的内容 - 请查看第7步 https://developer.android.com/things/hardware/raspberrypi.html - riggaroo
@riggaroo 哦,是的,谢谢你提供链接。但是我们还能在哪里使用Android.local或者它的其他用途吗? - Ravi
1
似乎只有树莓派会广播此地址(不确定其他安卓设备是否也是如此),已尝试将其与其他安卓设备一起使用,但无法连接。 - riggaroo
3个回答

7

即使在不支持mDNS的操作系统(如Windows)上,您也可以安装由Apple开发的Bonjour服务。 Bonjour服务提供了一个新的命令行工具,用于mDNS请求,称为dns-sd。执行以下命令搜索Android Things设备:

dns-sd -Q Android.local

该工具不会终止,并将持续打印所有使用传递的FQDN的设备。我通过以太网和WiFi连接了我的Raspberry Pi。因此,我获得了两个地址:

Timestamp     A/R Flags if Name                             T   C Rdata
22:18:47.771  Add     2 13 Android.local.                   1   1 192.168.x.123
22:18:51.247  Add     2 13 Android.local.                   1   1 192.168.x.124

还有,像我的WiFi连接断开那样,更改也将被跟踪:

22:19:52.940  Rmv     0 13 Android.local.                   1   1 192.168.x.124

在Linux上,dns-sd -Q的等效命令是avahi-resolve -n,但典型的Linux方式是只返回结果并退出,而不是持续轮询。 - Jivan Pal

2
树莓派通过多播DNS广播主机名Android.local。因此,如果您的PC支持MDNS,您可以像此链接中所述进行配置。
这是一个关于mDNS的文档

0

虽然上面的答案提供了正确的知识,但我想再加一些“锦上添花”的内容。

  • Raspberry PI会自动广播Android.local,并应该解析为分配给您的Pi的IP地址的5555端口。运行以下命令:

adb connect Android.local

  • 多年来,“.local”域似乎是在私有(RFC 1918)IP地址上运行的本地网络的明智选择。今天我们了解到,“.local”现在用于zeroconf网络服务。

  • 根据Wikipedia...以.local结尾的网络设备主机名通常用于私有网络。 ->使用.local标签作为内部域的完整DNS名称是更安全的配置,因为.local标签未注册用于Internet。这将您的内部域与公共Internet域名分开。

-希望能有所帮助,提前致谢!~!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接