지금도 크게 다르지는 않습니다만, 옛날에는 정말이지 '기본 앱의 홍수'라고 해도 과언이 아닐 정도로 기본 앱이 많았습니다. Android OS를 만든 Google이 넣어둔 YouTube를 위시한 Google 앱들에서부터 스마트폰 제조사인 삼성/LG 등이 끼워 넣은 온갖 앱들, 거기다가 통신사까지 자사의 서비스의 홍보와 활성화를 위해 추가한 수많은 기본 앱들...
완벽한 비교는 힘들지만, Android의 기반이 되는 AOSP의 용량과 그것을 갖고 Google, 제조사, 통신사 등이 커스텀한 펌웨어의 용량을 비교해보면 몇 배 수준의 차이를 보입니다. 이 정도면 커스터마이징을 빙자한 끼워 팔기 수준입니다. 1
다행히도 지금은 몇몇 기본 앱들을 사용자가 삭제할 수 있습니다. 그런데 그런 거, 애당초에 아예 깔리지 않아야 정상 아닐까요? 게다가 아직도 수많은 기본 앱들은 삭제 불가능합니다.
루팅을 하면 다 해결이 되긴 합니다. 루팅을 하면 그런 꼴 보기 싫은 기본 앱들을 흔적도 없이 날려버릴 수 있죠. 하지만 루팅을 하게 되면 그동안 누려왔던 많은 기능들을 포기해야 합니다. 몇몇 게임이나 은행 앱들은 루팅 상태를 감지해 앱 실행을 자체적으로 거부하며 거기다가 삼성 스마트폰의 경우 삼성 헬스, 삼성 페이 등의 유용한 기능들을 사용할 수 없게 됩니다.
그렇다면 루팅을 하지 않고 이 앱들을 없앨 수 있는 방법이 있을까요? 아니면 최소한 이 앱들이 나도 모르는 사이에 백그라운드에서 실행되면서 내 RAM과 배터리, 데이터 등을 잡아먹지 않게 할 수 있을까요?
정답은 비활성화입니다. 이 기능은 어디까지나 Android 자체의 기능을 이용하는 것이고, 제조사도 이건 막을 수 없습니다. 하지만 애플리케이션 목록에서 기본 앱을 비활성화 하려면 해당 버튼을 사용할 수 없게 되어있습니다.
방법이 없는 것은 아닙니다. 하나하나씩 이야기해봅시다.
ADB를 이용한 앱 비활성화
ADB를 이용해서 기본 앱을 비활성화할 수 있습니다. 왜 비활성화에 취소선이 그어져 있냐면, 이 방법은 엄밀하게 말해서 현재 사용자에 대해서만 앱 삭제라는 우회적인 방법이기 때문입니다.
이게 무슨 말인가 간략하게 설명해보겠습니다. 우리가 Windows를 쓸 때 계정을 여러 개 사용할 수 있듯이, Android 역시 계정을 여러개 사용할 수 있습니다. 우리가 스마트폰을 쓸 때 사용하는 사용자 계정은 시스템 관리자 계정인 root 계정과 분리되어 있습니다. 이 계정에서만 앱을 제거하면 실제로 앱이 저장소에서 제거가 되지는 않지만 사용자 입장에선 앱이 앱 목록에도 보이지 않고 실행도 되지 않습니다. 앱이 저장소에 남아 용량을 차지하는 것 이외에는 앱을 삭제한 것과 동일한 효과를 볼 수 있는 것입니다.
ADB를 먼저 다운로드 받고 해당 글에서 안내한 대로 준비를 마칩니다.
이 방법을 사용하기 위해서는 제거하고 싶은 앱의 패키지명을 알아야 합니다. 패키지명은 대략적으로 xxx.yyy.zzz
형식으로 되어 있습니다.
- 앱이 Google Play 스토어에 있는 앱일 경우:
해당 앱 페이지의 링크에서 패키지명을 알 수 있습니다. '모뉴먼트 밸리 2'의 경우 공유 링크가https://play.google.com/store/apps/details?id=com.ustwo.monumentvalley2
로 되어 있는데, 이때com.ustwo.monumentvalley2
부분이 패키지명입니다. - 앱의 패키지명의 일부를 알고 있을 경우:
ADB에서 다음 명령어로 패키지명을 검색할 수 있습니다.adb shell pm list packages | grep <search_term>
<search_term>
대신 검색어를 입력합니다.
가령 Chrome의 경우<search_term>
대신chrome
을 입력하면 됩니다. - 앱의 패키지명을 완전히 모를 경우:
앱의 패키지명을 완전히 모를 경우, Package Name이나 Package Name Viewer 2.0같은 앱을 이용해 패키지명을 알아내면 됩니다.
없애고 싶은 앱의 패키지명이 com.delete.me
라고 가정해보겠습니다. ADB에 다음과 같이 입력합니다.
adb shell pm uninstall -k --user 0 com.delete.me
이렇게 하면 앱이 사라집니다. 만약 앱이 여전히 애플리케이션 목록에 남아있다면 해당 앱의 캐시와 데이터를 삭제하면 사라집니다.
여러 앱들을 한번에 처리하고 싶다면 이 글을 참고해보세요.
Adhell3 사용
최근 삼성이 Adhell3 사용에 필요한 Knox EDU 라이선스 키의 발급을 중단했습니다. 따라서 Adhell3은 사용할 수 없습니다.
- Android Open Source Project의 약자입니다 [본문으로]