ADB를 통한 시스템 앱 활성화 및 비활성화 활성화 / 비활성화하는

시스템 앱을 활성화 / 비활성화하는 adb 명령이 있습니까?

감사



답변

예. 명령은 pm disable <package name>입니다. 이렇게하려면 루트 여야합니다.

쉘을 열고 루트를 얻으십시오.

PC> adb shell
shell@hammerhead:/ $ su

활성화 된 모든 앱을 나열하고 “계산기”별로 필터링 :

root@hammerhead:/ # pm list packages -e | grep 'calculator'
package:com.android.calculator2

앱 비활성화 :

root@hammerhead:/ # pm disable com.android.calculator2
Package com.android.calculator2 new state: disabled

비활성화 된 모든 앱 나열 :

root@hammerhead:/ # pm list packages -d
package:com.android.calculator2
package:com.google.android.apps.inputmethod.hindi
package:jp.co.omronsoft.iwnnime.ml
package:com.google.android.inputmethod.pinyin
package:com.google.android.inputmethod.korean
package:com.google.earth
root@hammerhead:/ #

주목할만한 다른 것들 :

  1. 필자의 테스트에서 이러한 방식으로 비활성화 된 앱은 설정> 앱 목록에서 완전히 사라집니다. “사용 안함”탭에 표시되지 않는 것 같습니다
  2. 로 앱을 다시 활성화 할 수 있습니다 pm enable <package name>. 사실, 이것은 내 경험에 따라 다시 활성화 하는 유일한 방법 인 것 같습니다 .

답변

@eldarerathis의 답변 외에도 특정 사용자에 대한 앱을 비활성화 할 수 있습니다. 이 방법을 사용하여 사용자 설정 화면에 나열되지 않은 제한된 사용자로부터 일부 앱을 제거했습니다. 모두가에서 명령 adb shell. 변경하려면 루트 액세스 권한이 필요합니다.

먼저, 사용자의 아이디를 얻습니다 :

$ pm list users
Users:
  UserInfo{0:Alice:13} running
  UserInfo{11:Bob:18} running

그때

$ pm disable --user 11 com.cyanogenmod.filemanager
Package com.cyanogenmod.filemanager new state: disabled-user

다시 활성화하려면

# pm enable --user 11 com.cyanogenmod.filemanager

이 예에서 Alice는 파일 관리자를 사용할 수 있지만 Bob은 사용할 수 없습니다.

hide대신 비슷한 작업을 수행 할 수 있습니다 disable. 어느 것이 가장 좋은지 잘 모르겠지만 이 답변을 참조하십시오 . 의 반대는 hide입니다 unhide(재부팅이 필요할 수 있음 unhide).

로 패키지를 나열 할 수 있습니다 pm list pacakges --user 11. 부여 -e목록 활성화 패키지 또는 -d당신은 장애인 사람을보고 싶어합니다. 숨겨진 패키지에 대한 필터가없는 것 같습니다.

FWIW, 나는 Amazon Fire (KFFOWI)에서 CM 12.1로 Lollipop에서 위를 시도했습니다.


답변

앱이 시스템 앱이든 타사 앱 (사용자 설치)이든 관계없이 작동합니다.


관련 앱의 패키지 이름을 얻으 려면 앱의 패키지 이름 결정 에서 내 대답을 참조 하고 을 사용하여 이러한 명령을 실행하십시오 ( 루트 액세스 필요 ).

adb 쉘
수
pm disable PACKAGE #은 앱을 비활성화하고 설정-> 응용 프로그램에서 숨 깁니다.
pm hide PACKAGE # 대안; Android Lollipop 이상
cmd package는 PACKAGE # 대안을 일시 중단합니다. 패키지는 실행기 및 설정 앱에 계속 표시되지만 사용할 수는 없습니다. 장치 관리 기능

PACKAGE 앱의 패키지 이름을 나타냅니다

응용 프로그램을 복원하려면 대체 비활성화활성화 , 숨기기숨기기 취소정지정지 해제 상기 명령 및 루트 권한으로 실행합니다.

Android KitKat 이상이고 루트 액세스 권한이없는 경우 PC에서 를 사용 하여이 명령을 실행하십시오.

Android KitKat 용 adb shell pm block 패키지 #
adb shell pm hide 패키지 # Android Lollipop 전용
adb shell pm disable-user PACKAGE #`pm hide`의 대안; 안드로이드 롤리팝 이상; 이것은 설정 앱을 통해 앱을 비활성화하는 것과 같습니다.

앱을 복원하려면 :

adb shell pm, Android KitKat 용 패키지 # 차단 해제
adb shell pm Android Lollipop 용 패키지 번호 숨기기 해제 및 이전에 'pm hide'를 사용한 경우에만
adb shell pm은 Android Lollipop 이상에서 패키지 번호를 활성화합니다.

변경은 즉시 이루어집니다.


답변