I am using the Android NDK, with dns_sd.h code that works fine on other platforms: https://github.com/HBPVIS/Servus/blob/master/servus/dnssd/servus.h
On Android, the library is calling DNSServiceRegister, there is no error return code, but a DNS-SD inspection tool (avahi-discover) shows me that there is nothing announced in the network.
I enabled the following permissions:
ACCESS_NETWORK_STATE
CHANGE_WIFI_MULTICAST_STATE
ACCESS_WIFI_STATE
I link against Android's mDNSResponder implementation, and link against the shim library as recommended in this answer.