Hi all, I'm porting a Golang-based program [1] to Android11+ (API level 30) and I've faced a problem,as the getifaddrs function is not available for apps and other restrictions.
>From Android developer documentation [2]: > > In addition, non-privileged apps can't access the device's MAC address; only > network interfaces with an IP address are visible. This impacts the > getifaddrs() and NetworkInterface.getHardwareAddress() methods, as well as > sending RTM_GETLINK Netlink messages. > The following is a list of the ways that apps are affected by this change: > NetworkInterface.getHardwareAddress() returns null for every interface. > Apps cannot use the bind() function on NETLINK_ROUTE sockets. > The ip command does not return information about interfaces. > Apps cannot send RTM_GETLINK messages. > I came up with a workaround [3], and now my app works OK. External references: https://github.com/mysteriumnetwork/node https://developer.android.com/training/articles/user-data-ids#mac-11-plus https://github.com/mysteriumnetwork/wireguard-go/pull/5/files -- best regards, Anton