본문은 삭제라고 썼지만 실제 파일이 삭제되는것은 아닙니다.
따라서, 시스템 내에서는 앱이 없는것처럼 보이지만, 초기화를 하면 해당 앱이 다시 활성화가 됩니다.
1. 우선 해당 기기를 ADB로 연결한 후에, "adb shell pm list packages"를 이용하여 삭제를 원하는 패키지 명 리스트를 정리해 둡니다. 추가적으로 해당 패키지들을 백업해 둡니다.
*추가) S8등의 몇몇 기기에서는 pm list package 커맨드로 전체 패키지 리스트를 보여주지 않는다고 합니다. 이 경우 App Inspector 등의 앱을 이용하여 삭제 리스트를 만드셔야 합니다.
2. 이제 해당 패키지를 삭제하기 위해 두가지 방법이 존재합니다. 2-1) 기존 Debloater 툴이 사용하는 방식, 2-2) 새로운 방식 입니다.
2-1) "adb shell pm disable 패키지명" 또는 "adb shell pm hide 패키지명"을 이용하여 삭제 합니다. disable의 경우 구버전 ADB에서 사용하던 방식이고, hide는 신버전 ADB에서 사용하는 방식 입니다.
2-2) "adb shell pm uninstall -k --user 0 패키지명"을 이용하여 삭제 합니다. 근래 대부분의 휴대폰 제조사들이 안드로이드 6.0이후 업데이트를 통해서 "adb shell pm hide"를 이용할 시 MANAGE_USER의 권한문제로 삭제가 불가능 하도록 해놓았습니다. 이를 우회하는 방법 입니다.
3. 다시 원복하기 위해서는, 기기 초기화를 진행하던지 아니면
3-1) "adb shell pm disable"을 이용한 경우 "adb shell pm enable 패키지명"으로, "adb shell pm hide"를 이용한 경우 "adb shell pm unhide 패키지명"으로 원복 합니다.
3-2) 2-2를 이용한 경우 삭제한 패키지를 재설치 합니다. 또는 상위버전을 설치하여도 됩니다.
시스템과 관련한 패키지를 삭제한 경우 아예 부팅이 안되기 때문에, 조심하여 사용하시기 바랍니다.
참조
https://forum.xda-developers.com/android/software/debloater-remove-carrier-bloat-t2998294
https://www.xda-developers.com/uninstall-carrier-oem-bloatware-without-root-access/