ADB 명령어를 사용하여 앱의 데이터 또는 캐시를 삭제(clear)하는 방법을 알아보겠습니다.
기본적으로 앱은 데이터 폴더와 캐시 폴더를 갖고 있으며, 데이터 폴더 삭제 시 캐시도 함께 삭제되며, 캐시 삭제 시 캐시만 삭제되며 다른 폴더에 있는 데이터는 삭제되지 않습니다.
앱의 자동화 테스트를 만들 거나 다른 이유로, ADB 명령어로 앱 데이터 또는 캐시를 삭제해야할 때가 있습니다.
디바이스의 Settings를 통해 앱 데이터를 삭제할 수 있지만, 직접 화면을 보면서 터치를 해야 해서 오래 걸리고, 반복적으로 테스트를 해야 한다면 자동화 테스트를 구축하기 어려울 수 있습니다.
1. ADB로 앱 데이터 삭제
adb shell pm clear [package name]
명령어는 package name
앱의 데이터를 모두 삭제합니다.
예를 들어, 아래와 같이 com.example.app
패키지의 데이터를 삭제하면, Success가 출력되면서 삭제가 됩니다.
$ adb shell pm clear com.example.app
Success
다른 사용자에 설치된 앱의 데이터를 삭제하려면 아래와 같이 --user
로 UserId를 전달해야 합니다.
$ adb shell pm clear --user 10 com.example.app
2. ADB로 캐시 데이터 삭제
앱의 캐시만 삭제하려면 위의 데이터 삭제 명령어에 --cache-only
옵션을 추가하면 됩니다. 데이터는 삭제되지 않으며 앱의 캐시 폴더에 저장된 파일들만 삭제됩니다.
$ adb shell pm clear --cache-only com.example.app
여기에 다른 사용자에 설치된 앱을 삭제하려면, 아래와 같이 --user
옵션으로 UserId를 전달하면 됩니다.
$ adb shell pm clear --user 10 --cache-only com.example.app