code: public byte[] getHardwareAddress() throws SocketException {
          // Android chage - do not use the cached address, fetch
          // the object again. NI might not be valid anymore.
          NetworkInterface ni = getByName0(name);
          if (ni == null) {
              throw new SocketException("NetworkInterface doesn't exist anymore");
          }
          return ni.hardwareAddr;
      }
docs: Returns the hardware address (usually MAC) of the interface if it
  has one and if it can be accessed given the current privileges.
  If a security manager is set, then the caller must have
  the permission {@link NetPermission}("getNetworkInformation").
  
  @return  a byte array containing the address, or <code>null</code> if
  the address doesn't exist, is not accessible or a security
  manager is set and the caller does not have the permission
  NetPermission("getNetworkInformation")
  
  @exception       SocketException if an I/O error occurs.
  @since 1.6