본문 바로가기
🖥 Programming/📱 Android (Kotlin)

[Android] 앱 삭제후에도 shared preference 남아있는 현상 해결하기

by MinChan-Youn 2022. 11. 15.

안녕하세요~ 챠니입니다! :)

 

이번에는 앱 삭제후에도 Shared preference 데이터가 남아있는 현상과 해결하는 방법에 대해서 알아보겠습니다.

 

 

    Shared preference 는 왜 남아있는 것일까?

    결론을 먼저 이야기하자면

    원인은 자동백업 "BackupManager" 때문입니다.

     

    Android API 23(or Android "6.0" or Android "Marshmellow")이후 BackupManager는 공유 환경설정을 포함한 앱의 모든 데이터를 클라우드에 저장한다고 합니다.

    그렇기 때문에 Android "6.0"이후 부터는 AndroidManifest.xml 파일에 application 요소의 allowBackup 속성을 명시하지 않으면 자동으로 기본값인 true으로 설정이 되어서 앱의 데이터가 구글 클라우드에 자동으로 백업이 된다고 합니다.

     

    결국 앱 삭제후 재설치 시 자동으로 백업이 되어 Shared preference에 저장된 자료를 불러오게 됩니다.

     

     

    [해결방법]

     

    AndroidManifest.xml 파일에 Backup에 대한 설정을 false로 변경합니다.

     

    <application
        ...
        
        android:allowBackup="false"
        android:fullBackupContent="false"
        
        ...
    </application>

     

     

    *프로젝트에 다른 플로그인이 있는 경우 android:allowBackup 속성이 출동할 수 있으므로

    -> tools:replace 속성을 추가로 설정

    <application
        ...
        
        android:allowBackup="false"
        android:fullBackupContent="false"
        tools:replace="android:allowBackup"
        
        ...
    </application>

     

     

     

     

     

    참고자료

    https://developer.android.com/guide/topics/data/autobackup?hl=ko 

     

    자동 백업으로 사용자 데이터 백업  |  Android 개발자  |  Android Developers

    자동 백업으로 사용자 데이터 백업 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 앱의 자동 백업은 Android 6.0(API 수준 23) 이상에서 타겟팅하거나 실행되는

    developer.android.com

     

     

    질문 또는 궁굼한 부분은 댓글을 남겨주세요! 친절하게 답변드리겠습니다!

    응원의 댓글은 저에게 큰 힘이 된답니다! :)

    즐거운 하루되세요!

     

    깃허브 보러 놀러오세요 👇 (맞팔환영)

    https://github.com/younminchan

     

    younminchan - Overview

    안드로이드 2년차 개발자 •⚽️/🎤/🥁/🖥/🏃‍♂️/🚴‍♂️/🤟 TechBlog⬇️ minchanyoun.tistory.com - younminchan

    github.com