Android 10에는 앱 개발자를 위한 매니페스트 플래그가 도입되었습니다. 이 플래그를 사용하면 사용자가 앱을 제거할 때 앱 데이터를 유지할 수 있습니다. 자세한 내용은 계속 읽어보세요!
안드로이드 10 Google에서 Android에 대한 최신 업데이트를 제공합니다. 성숙한 OS에 대한 몇 가지 개선 사항. 최신 업데이트의 대부분의 변경 사항과 새로운 기능은 Google이 직접 강조한 내용 Google I/O 중이거나 곧 발견됨 ~ 후에 공개 소스 릴리스. 그러나 일부 주목할만한 변화는 레이더망 아래로 빠져나가는 경향이 있으며, 몇 달 후 누군가가 우연히 발견했을 때 표면화됩니다. Android 10에서는 개발자가 앱을 제거하기 전에 앱 데이터를 유지할 것인지 사용자에게 물어볼 수 있기 때문에 이 경우에 이런 일이 일어나고 있습니다.
최근 보고하다 Android경찰 이 기능을 강조했습니다. 다음과 같은 앱 왓츠앱 그리고 ASR 음성 녹음기 Android 10 사용자에게 곧 제거될 앱의 데이터를 보관할 수 있는 옵션을 제공하기 시작했습니다.
위에 표시된 확인란을 선택하면 앱이 제거되더라도 휴대폰에 앱 데이터가 유지됩니다. 앱을 다시 설치하면 처음에 앱을 제거하지 않은 것처럼 앱 내에서 동일한 상태로 돌아갑니다.
Mishaal은 뒤에서 무슨 일이 일어나고 있는지 약간 조사했습니다. 이를 이해하려면 먼저 Android의 앱이 기기에 파일을 저장할 수 있는 방법과 파일을 저장하는 세 가지 주요 위치를 이해해야 합니다.
- 내부(루트 없이는 사용자가 액세스할 수 없음) 저장소의 앱별 디렉터리: 이 폴더는 다음 위치에 있습니다. /data/data 다른 앱에 액세스할 수 없거나 사용자가 일반적으로 휴대폰을 PC에 연결하는 경우에는 액세스할 수 없습니다. 앱에는 이 위치의 자체 앱별 디렉터리에 파일을 쓰는 데 권한이 필요하지 않습니다.
- 외부(사용자 액세스 가능) 저장소의 앱별 디렉터리: 이 폴더는 다음 위치에 있습니다. /data/media/{user}/Android/data 적절한 권한이 있는 다른 앱과 사용자가 일반적으로 휴대폰을 컴퓨터에 연결할 때 액세스할 수 있습니다. 앱에는 이 위치의 자체 앱별 디렉터리에 파일을 쓰는 데 권한이 필요하지 않지만, 앞서 언급한 것처럼 다른 앱의 데이터에 액세스하려면 권한이 필요합니다.
- 외부(사용자가 액세스할 수 있는) 저장소의 모든 디렉터리: 앱은 외부 저장소에 액세스할 수 있는 권한을 요청할 수 있습니다. 앱이 외부 저장소에 필요한 폴더를 생성하여 저장하려는 항목을 저장할 수 있도록 허용 여기.
WhatsApp의 예를 확장하면 내부 저장소에 있는 WhatsApp의 앱별 디렉터리는 다음 위치에 있습니다. /data/data/com.whatsapp; 외부 저장소의 앱별 디렉터리는 다음 위치에 있습니다. /data/media/{user}/Android/data/com.whatsapp; 외부 저장소의 사용자 정의 디렉터리는 다음 위치에 있습니다. /data/media/{user}/WhatsApp.
안드로이드 10 이전 그리고 개발자가 앱에 대해 이 기능을 활성화하기 전에 사용자가 앱을 제거하면 내부(/data/data) 및 외부(/data/media) 저장소는 기본적으로 삭제됩니다. 외부 저장소의 추가 디렉터리는 삭제되지 않으며 수동으로 제거하거나 다음과 같은 앱을 사용해야 합니다. SD 메이드 당신을 위해 그것을하기 위해.
Android 10을 사용하면 앱 개발자는 매니페스트에 'hasFragileUserData"를 사용하면 앱 제거 시 앱 데이터를 유지할 것인지 사용자에게 물어볼 수 있습니다. 이는 위의 스크린샷에 표시된 것과 같습니다. 앱 데이터를 유지하기 위해 확인란을 선택하여 앱을 제거하면 Android는 내부 및 외부 저장소의 앱별 디렉터리를 유지하고 삭제하지 않습니다. Manifest 플래그를 추가하지 않은 앱과 Manifest 플래그를 추가한 WhatsApp과 같은 앱의 디렉터리를 확인하여 이를 확인했습니다.
표면적으로는 사용자가 일시적으로 앱을 제거하고 여전히 이전 버전으로 돌아갈 수 있으므로 이 옵션을 갖는 것이 합리적입니다. 다시 설치 시 이전 상태로 유지되므로 동일한 환경에서 앱을 백업하고 복원하는 번거로움을 덜 수 있습니다. 장치. 하지만 명심하세요. /data/data 루트 없이는 액세스할 수 없으므로 사용자는 루트 없는 백업 및 장치 전체 복원에 이 프로세스를 사용할 수 없습니다. 사용자가 뒤에 남겨진 파일을 삭제하는 것도 불가능합니다. /data/data 뿌리가 없는; 따라서 나중에 파일을 지우려면 앱을 다시 설치한 다음 확인란을 선택하지 않고 제거해야 합니다. 너무 많은 앱에 이 옵션을 사용하면 사용자로서 어떤 앱을 선택했는지 잊어버릴 수 있습니다. 이는 개발자가 포함하고 사용자가 선택할 수 있는 선택 사항이므로 최종 사용자에게 더 많은 권한을 제공하는 전반적으로 긍정적인 변화라고 생각합니다.