Android 11의 MAC 주소 업데이트

Android 11에는 MAC 주소와 관련된 다음과 같은 변경사항이 도입되었습니다. 이러한 변경사항은 앱이 Android 11을 타겟팅하는 경우에만 앱에 영향을 줍니다.

MAC 주소 무작위 지정

Passpoint가 동일 프로필에 관해 여러 SSID에 연결할 수 있기 때문에 Android 10(API 수준 29) 이하를 타겟팅하는 앱에서 MAC 주소 무작위 지정은 SSID별로 이루어집니다. Android 11(API 수준 30) 이상을 타겟팅하는 앱에서 Passpoint 네트워크의 MAC 주소 무작위 지정은 정규화된 도메인 이름(FQDN)별로 변경됩니다.

API 수준 30 이상을 타겟팅하는 앱에서 권한이없는 앱은 기기의 MAC 주소에 액세스할 수 없습니다. IP 주소가 있는 네트워크 인터페이스만 표시됩니다. 이는 RTM_GETLINK netlink 메시지 전송뿐만 아니라 getifaddrs()NetworkInterface.getHardwareAddress() 메서드에도 영향을 줍니다.

다음은 앱이 이 변경사항으로 인해 영향받는 방식의 목록입니다.

  • NetworkInterface.getHardwareAddress()는 모든 인터페이스를 대상으로 null을 반환합니다.
  • 앱이 NETLINK_ROUTE 소켓에서 bind() 함수를 사용할 수 없습니다.
  • ip 명령어가 인터페이스에 관한 정보를 반환하지 않습니다.

이러한 변경사항은 MAC 주소를 사용하지 않음에 나온 안내를 적용합니다.

대부분의 개발자는 NetworkInterfacegetifaddrs()와 같은 하위 수준 API가 아니라 ConnectivityManager의 상위 수준 API를 사용해야 합니다.