adb: Set a hostname for mDNS
Now all devices won't appear as "Android." Should make it easier to
multiplex.
Test: Verified locally on a raspberry pi 3
Bug: 28887278
(cherry picked from 815b23319635d264ae0ce2c8c29a5776a57b8051)
Change-Id: Icfd0116477543af6a3049c14d818c1cff7fc3b93
diff --git a/adb/daemon/mdns.cpp b/adb/daemon/mdns.cpp
index 85c5a07..a8622ae 100644
--- a/adb/daemon/mdns.cpp
+++ b/adb/daemon/mdns.cpp
@@ -61,9 +61,13 @@
start_mdns();
std::lock_guard<std::mutex> lock(mdns_lock);
- auto error = DNSServiceRegister(&mdns_ref, 0, 0, nullptr, "_adb._tcp",
- nullptr, nullptr, htobe16((uint16_t)port),
- 0, nullptr, mdns_callback, nullptr);
+ std::string hostname = "adb-";
+ hostname += android::base::GetProperty("ro.serialno", "unidentified");
+
+ auto error = DNSServiceRegister(&mdns_ref, 0, 0, hostname.c_str(),
+ kADBServiceType, nullptr, nullptr,
+ htobe16((uint16_t)port), 0, nullptr,
+ mdns_callback, nullptr);
if (error != kDNSServiceErr_NoError) {
LOG(ERROR) << "Could not register mDNS service (" << error << ").";