https://www.clien.net/service/board/lecture/11092791


위 글에 indirex 님이 아래 명령어로 system app을 제거하는 방법을 소개해 주셨습니다.

adb shell pm uninstall -k --user 0 패키지명


그런데, 제거한  앱이  복구하기 힘든 경우가 있습니다. (DEX_PREOPT = true인 APK만 존재하는 경우)

그래서 복구 툴 하나를 만들었습니다.


android-tool-master.zip



android-6.x.x(Marshmallow) 용, 아마 7.x.x(Nougat) 에서도 동작하리라 봅니다.

https://github.com/textkiller/android-tool/tree/android-6.x.x/prebuilt


android-8.x.x용 (Oreo)

https://github.com/textkiller/android-tool/tree/master/prebuilt


실행 방법 아래와 같습니다. (adb  설치되어 있어야 함)


adb push atool /data/local/tmp

adb push atool.jar /data/local/tmp

adb shell "chmod 755 /data/local/tmp/atool"

adb shell "/data/local/tmp/atool pm install-existing-package --user 0 패키지명"


* 맥이나 리눅스를 사용하시는 분은 아래 한줄로도 가능합니다.

./atool.sh pm install-existing-package --user 0 패키지명


제가 맥에서만 테스트 했는데 윈도우에서 어떨지 몰라 아래 명령어 하나 더 추가했습니다.

adb shell "chmod 755 /data/local/tmp/atool"



2017/09/03: Nougat에서 문제가 있어서 다시 수정해서 올렸습니다.

android-6.x.x branch는 현재 Nougat, Marshmallow  모두 지원합니다.

아래기기에서 테스트했습니다.

Marshmallow: Nexus 5
Nougat: G5
Oreo: Nexus 5x



출처 : https://www.clien.net/service/board/lecture/11116786

Posted by 무소유v