Odpowiedzi:
Tak. Poleceniem jest pm disable <package name>
. Aby to zrobić, musisz być rootem:
Otwórz powłokę i zrootuj:
PC> adb shell
shell@hammerhead:/ $ su
Wyświetl listę wszystkich włączonych aplikacji, filtruj według „kalkulatora”:
root@hammerhead:/ # pm list packages -e | grep 'calculator'
package:com.android.calculator2
Wyłącz aplikację:
root@hammerhead:/ # pm disable com.android.calculator2
Package com.android.calculator2 new state: disabled
Wyświetl wszystkie wyłączone aplikacje:
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:/ #
Kilka innych rzeczy, na które warto zwrócić uwagę:
pm enable <package name>
. Z mojego doświadczenia wynika, że jest to jedyny sposób na ich ponowne włączenie.Manifest
lub podobnej aplikacji (nie jestem deweloperem Androida, więc nie mogę powiedzieć).
Oprócz odpowiedzi @eldarerathis możesz wyłączyć aplikację dla określonego użytkownika. Użyłem tej metody, aby usunąć niektóre aplikacje z ograniczonego użytkownika, które nie były wymienione na ekranie ustawień użytkownika. Wszystkie polecenia z adb shell
. Dostęp root jest wymagany do wprowadzenia zmian.
Po pierwsze, uzyskaj identyfikator użytkownika:
$ pm list users
Users:
UserInfo{0:Alice:13} running
UserInfo{11:Bob:18} running
Następnie
$ pm disable --user 11 com.cyanogenmod.filemanager
Package com.cyanogenmod.filemanager new state: disabled-user
Aby ponownie włączyć
# pm enable --user 11 com.cyanogenmod.filemanager
W tym przykładzie Alice może użyć menedżera plików, ale Bob nie.
Możesz zrobić coś podobnego hide
zamiast disable
. Nie jestem pewien, który jest najlepszy, ale zobacz tę odpowiedź . Przeciwnie hide
jest unhide
(może być konieczne ponowne uruchomienie komputera unhide
).
Możesz wyświetlić listę pakietów za pomocą pm list pacakges --user 11
. Podaj -e
listę włączonych pakietów lub -d
jeśli chcesz zobaczyć wyłączone. Wygląda na to, że nie ma filtru dla ukrytych pakietów.
FWIW, próbowałem wyżej na Lollipop z CM 12.1 na Amazon Fire (KFFOWI).
Powinno to działać niezależnie od tego, czy aplikacja jest aplikacją systemową, czy aplikacją innej firmy (zainstalowaną przez użytkownika).
Zobacz moją odpowiedź na stronie Określ nazwę pakietu swojej aplikacji, aby uzyskać nazwę pakietu danej aplikacji i użyj powłoki adb do wykonania tych poleceń ( wymaga dostępu do konta root ):
powłoka adb su pm wyłącz PAKIET # wyłącza aplikację i ukrywa ją w Ustawieniach -> Aplikacje pm ukryj PAKIET # alternatywa; dla Androida Lollipop i nowszych wersji pakiet cmd zawiesza PAKIET # alternatywa; pakiet pozostaje widoczny w aplikacji Launcher i Ustawienia, ale nie można go używać; funkcja administracji urządzenia
PACKAGE
odnosi się do nazwy pakietu aplikacji
Aby przywrócić aplikację, należy wymienić wyłączyć ze włączyć , ukryć ze PokaŜ i zawiesić z odwiesi w tej komendzie i uruchom go z uprawnieniami administratora.
Jeśli masz system Android KitKat lub nowszy i nie masz dostępu do konta root , użyj adb na PC, aby wykonać to polecenie:
adb shell pm block PAKIET # dla Androida KitKat adb shell pm ukryj PAKIET # tylko dla Androida Lollipop adb shell pm disable-user PAKIET # alternatywa dla `pm hide`; dla Androida Lollipop i nowszych; działa to tak jak wyłączenie aplikacji za pomocą aplikacji Ustawienia
Aby przywrócić aplikację:
adb shell pm odblokuj PAKIET # dla Androida KitKat adb shell pm odkryj pakiet # dla Androida Lollipop i tylko jeśli wcześniej użyłeś `pm hide` adb shell pm włącz PAKIET # dla Androida Lollipop i nowszych wersji
Zmiany miałyby miejsce natychmiast.