본문 바로가기
Android

Android 11

by _dreamgirl 2021. 6. 1.
반응형

Android 11 내용 정리

 

- 동작 변경사항

 

디렉터리 액세스 제한

앱이 Android 11을 타겟팅하고 저장소 액세스 프레임워크(SAF)을 사용하는 경우 더 이상 ACTION_OPEN_DOCUMENT 및 ACTION_OPEN_DOCUMENT_TREE 인텐트 작업을 사용하여 특정 디렉터리에 액세스할 수 없습니다. 이러한 변경사항을 자세히 알아보려면 Android 11의 저장소와 관련된 개인정보 보호 업데이트를 설명하는 페이지에서 디렉터리 액세스 제한 섹션을 참조하세요.

 

Netlink MAC 제한사항

API 수준 'R' 이상을 타겟팅하는 앱의 경우 권한이 없는 앱은 기기의 MAC 주소에 액세스할 수 없습니다. IPv4 주소가 있는 네트워크 인터페이스만 표시됩니다. RTM_GETLINK netlink 메시지를 전송할 뿐 아니라 getifaddrs() 및 NetworkInterface.getHardwareAddress() 메서드에도 영향을 줍니다. MAC 주소를 사용하지 않음에 나온 안내를 적용한 것입니다.

 

- 개인정보 보호 기능

 

권한과 저장소에 대한 영향도 파악이 우려된다.

 

 

- Android 11 타겟팅

앱이 Android 11을 타겟팅하는 경우 WRITE_EXTERNAL_STORAGE 권한 및 WRITE_MEDIA_STORAGE 독점 권한은 더 이상 추가 액세스를 제공하지 않습니다.

일부 앱에는 파일 관리나 백업 및 복원 작업과 같이 광범위한 파일 액세스가 필요한 핵심 사용 사례가 있습니다. 이러한 앱은 다음과 같이 모든 파일에 액세스 권한을 얻을 수 있습니다.

  • MANAGE_EXTERNAL_STORAGE 권한을 선언합니다.
  • 앱에 관해 모든 파일 관리 허용 옵션을 사용 설정할 수 있는 시스템 설정 페이지로 사용자를 안내합니다.

이 권한은 다음을 허용합니다.

--> 저장소에 읽기/쓰기를 해야하는 경우 따로 권한이 추가하여 필요하다는 뜻으로 파악됨.

https://developer.android.com/training/data-storage#scoped-storage 

 

데이터 및 파일 저장소 개요  |  Android 개발자  |  Android Developers

Android는 다른 플랫폼의 디스크 기반 파일 시스템과 유사한 파일 시스템을 사용합니다. 시스템은 앱 데이터를 저장하기 위한 다음과 같은 여러 옵션을 제공합니다. 앱별 저장소: 내부 저장소 볼

developer.android.com

 

---> 매니페스트에서 application 안드로이드 속성 중 preserveLegacyExternalStorage = true 로 하면
기존 외부 저장소에 대한 권한이 승계된다. 신규 앱 업데이트 시에는 앱 내 저장소로 변경되지만, 기존 앱 업데이트시에만 적용. 그리고 이에 대한 접근 권한 체크는 SDK 29 이상 API Environment.isExternalStorageLecacy() 함수를 통해 확인할 수 있다.

- 일회성 권한

Android 11에서는 앱이 위치, 마이크 또는 카메라와 관련된 권한을 요청할 때마다 사용자에게 표시되는 권한 대화상자에 그림 1과 같이 이번만 허용이라는 옵션이 포함됩니다. 

앱에 WebView 인스턴스가 있는 경우 사용자는 WebView 객체 자체 내의 위치에 관한 지속적인 액세스를 허용하지만 앱의 위치 정보 액세스 권한은 이번만 허용으로 제한할 수 있습니다. 

백그라운드 위치 요청 제한

ACCESS_BACKGROUND_LOCATION 권한뿐 아니라 ACCESS_COARSE_LOCATION 또는 ACCESS_FINE_LOCATION 권한도 앱의 manifest에 포함합니다.

--> 위치 사용 권한에 따라 대화창이 아닌 앱의 설정 페이지로 변경되며, 앱의 기능에 백그라운드 위치 정보 액세스 권한이 필요한 이유를 설명하는 텍스트가 안내 되어야함. 두 번 거절되면 무시가 되고, 권한이 없어도 위치를 이동하는 방식으로 앱을 사용할 수 있게 개선해야 함으로 보임. 

전화번호
<manifest>
   
<!-- Grants the READ_PHONE_STATE permission only on devices that run
         Android 10 (API level 29) and lower. -->

   
<uses-permission android:name="READ_PHONE_STATE"
                     
android:maxSdkVersion="29" />
   
<uses-permission android:name="READ_PHONE_NUMBERS" />
</manifest>

--> 앱이 Android 11이상을 타겟팅할 때 전화번호 API를 액세스한다면 READ_PHONE_STATE 권한 대신 READ_PHONE_NUMBERS 권한을 요청해야 한다.

 

- Android 11의 패키지 공개 상태

Android 11에서는 앱이 사용자가 기기에 설치한 다른 앱을 쿼리하고 상호작용하는 방법을 변경합니다. <queries> 요소를 사용하여 앱은 액세스할 수 있는 다른 패키지 집합을 정의할 수 있습니다. 이 요소를 통해 앱에 표시될 다른 패키지를 시스템에 알려 최소 권한의 원칙을 촉진할 수 있습니다. 또한 Google Play와 같은 앱 스토어에서 앱이 사용자에게 제공하는 개인정보 보호 및 보안을 평가할 수 있습니다.

https://developer.android.com/about/versions/11/privacy/package-visibility?hl=ko 

 

Android 11의 패키지 공개 상태  |  Android 개발자  |  Android Developers

Android 11에서는 앱이 사용자가 기기에 설치한 다른 앱을 쿼리하고 상호작용하는 방법을 변경합니다. 요소를 사용하여 앱은 액세스할 수 있는 다른 패키지 집합을 정의할 수 있습니다. 이 요소를

developer.android.com

 

- 새 기능 API

데이터 blob을 사용하여 대규모 데이터세트 안전하게 공유

네트워크의 데이터와 디스크에 있는 데이터 모두에서 데이터 중복을 줄이기 위해 Android 11(API 수준 'R')은 머신러닝 및 미디어 재생과 같은 사용 사례를 지원하는 공유 데이터세트를 캐시합니다. 앱이 대규모 공유 데이터세트에 액세스해야 할 때 새로운 사본을 다운로드할지 여부를 결정하기 전에 먼저 이 캐시된 데이터세트(공유 데이터 blob이라고 함)를 찾아볼 수 있습니다.

 

6월까지 안정화 단계, 3분기부터 출시를 위한 준비과정에 돌입한다고 한다.

 

 

참고: SDK 및 라이브러리 개발자의 경우 최종 테스트용으로 플랫폼 안정성을 타겟팅하는 것은 아주 중요합니다. 다운스트림 앱 및 게임 개발자는 번들 SDK 및 라이브러리가 Android 11을 지원하도록 업데이트될 때까지 차단될 수 있습니다.

 

 

- 참고 사이트

: developer.android.com/about/versions/11/privacy/storage?hl=ko

 

Android 11의 저장소 업데이트  |  Android 개발자  |  Android Developers

Android 11(API 수준 30)에서는 플랫폼을 한층 더 강화하여 외부 저장소의 앱 및 사용자 데이터를 더욱 안전하게 보호합니다. 이 버전에는 미디어의 원시 파일 경로 액세스 선택, 미디어의 일괄 수

developer.android.com

: https://developer.android.com/preview/overview

 

Android 12 개발자 프리뷰  |  Android Developers

개발자 프리뷰의 작동 방식, 일정, 포함된 기능을 알아봅니다.

developer.android.com

: medium.com/androiddevelopers/android-11-storage-faq-78cefea52b7c

 

Android 11 storage FAQ

First introduced in Android 10, scoped storage is designed to protect app and user data and reduce file clutter. Since then, you’ve…

medium.com

developer.android.com/training/data-storage/use-cases#maintain_access_to_the_legacy_storage_location_for_data_migration

 

Android 저장소 사용 사례 및 권장사항  |  Android 개발자  |  Android Developers

사용자가 파일을 더욱 세밀하게 제어하도록 하고 파일이 복잡해지는 것을 제한하기 위해 Android 10에는 범위 지정 저장소라는 앱의 새로운 저장소 패러다임이 도입되었습니다. 범위 지정 저장소

developer.android.com

https://developer.android.com/about/versions/11/privacy/permissions?hl=ko 

 

Android 11의 권한 업데이트  |  Android 개발자  |  Android Developers

Android 11에서는 사용자가 위치, 마이크, 카메라에 관해 더욱 세분화된 권한을 지정할 수 있습니다. 또한 시스템은 Android 11 이상을 타겟팅하는 사용하지 않는 앱의 권한을 재설정하며 앱은 시스

developer.android.com

 

반응형

'Android' 카테고리의 다른 글

Android JAR vs. AAR  (2) 2021.06.24
Android 파일 공유  (0) 2021.06.24
Dynamic Links  (0) 2021.04.13
DownloadManager  (0) 2021.03.16
Android Shortcut / iOS 3D touch  (0) 2021.01.04

댓글