Yanıtlar:
Evet. Komut pm disable <package name>
. Bunu yapabilmek için root olmanız gerekir:
Kabuğu açın ve kök olsun:
PC> adb shell
shell@hammerhead:/ $ su
Tüm hesaplanan uygulamaları listele, "hesap makinesine" göre filtrele:
root@hammerhead:/ # pm list packages -e | grep 'calculator'
package:com.android.calculator2
Uygulamayı devre dışı bırak:
root@hammerhead:/ # pm disable com.android.calculator2
Package com.android.calculator2 new state: disabled
Tüm devre dışı uygulamaları listele:
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:/ #
Kayda değer diğer bazı şeyler:
pm enable <package name>
. Aslında, bu benim deneyimlerime göre onları yeniden etkinleştirmenin tek yolu gibi görünüyor .Manifest
veya benzeri bir şeyde yapılmasından korkuyorum (Android dev değilim, bu yüzden söyleyemem).
@Eldarerathis tarafından verilen cevaba ek olarak, belirli bir kullanıcı için bir uygulamayı devre dışı bırakabilirsiniz. Bu yöntemi, bazı uygulamaları kullanıcı ayarları ekranında listelenmeyen kısıtlı bir kullanıcıdan kaldırmak için kullandım. Bütün bir komutları adb shell
. Değişiklik yapmak için kök erişimi gerekir.
Öncelikle, kullanıcının kimliğini alın:
$ pm list users
Users:
UserInfo{0:Alice:13} running
UserInfo{11:Bob:18} running
Sonra
$ pm disable --user 11 com.cyanogenmod.filemanager
Package com.cyanogenmod.filemanager new state: disabled-user
Yeniden etkinleştirmek için
# pm enable --user 11 com.cyanogenmod.filemanager
Bu örnekte, Alice dosya yöneticisini kullanabilir ancak Bob kullanamaz.
Bunun hide
yerine benzer bir şey yapabilirsiniz disable
. Hangisinin en iyi olduğundan emin değilim, ama bu cevabı gör . Tersi hide
olan unhide
(bir yeniden başlatma etkisi için gerekli olabilir unhide
).
İle paketleri listeleyebilirsiniz pm list pacakges --user 11
. -e
Etkin paketleri listelemek için veya -d
engelli paketlerini görmek istiyorsanız verin . Gizli paketler için filtre yok gibi görünüyor.
FWIW, yukarıda bir Amazon Ateşi'nde (KFFOWI) CM 12.1 ile Lollipop'ta denedim.
Bu, uygulamanın bir sistem uygulaması mı yoksa üçüncü taraf uygulaması mı (kullanıcı tarafından yüklenmiş) olursa olsun çalışmalıdır.
İlgili uygulamanın paket adını almak için uygulamanızın paket adını belirleme konusundaki cevabımı görün ve bu komutları çalıştırmak için adb kabuğunu kullanın ( kök erişimi gerekir ):
adb kabuğu su pm disable PACKAGE #, uygulamayı devre dışı bırakır ve Ayarlar -> Uygulamalar bölümünde gizler pm hide PAKET # alternatif; Android Lolipop ve üstü için cmd paketi askıya al PAKET # alternatif; Paket Başlatıcı ve Ayarlar uygulamasında görünmeye devam eder ancak kullanılamaz; Cihaz Yönetimi'nin bir özelliği
PACKAGE
Uygulamanın paket adını ifade eder.
Uygulamayı yeniden etkinleştirmek için değiştirmek devre dışı ile etkinleştirmek , gizlemek ile unhide ve askıya ile unsuspend bahsedilen komuta ve kök ayrıcalığı ile çalıştırmak.
Eğer Android KitKat veya üstü bir sürüm kullanıyorsanız ve root erişiminiz yoksa , bu komutu çalıştırmak için PC'deki adb kullanın:
adb kabuk pm blok Android KitKat için PAKET # # adb shell pm hide PAKET # # yalnızca Android Lollipop için adb shell pm disable-user PACKAGE # pm öğeye alternatif; Android Lollipop ve üstü için; bu, yalnızca bir uygulamanın Ayarlar uygulaması aracılığıyla devre dışı bırakılması gibi çalışır
Uygulamayı eski durumuna getirmek için:
adb kabuk pm Android KitKat için PAKET # # engelini kaldırmak adb kabuk pm unhide Android Lollipop için PAKETİ # ve sadece daha önce `pm hide` kullandıysanız adb kabuk pm Android Lollipop ve üstü için PAKET # etkinleştirin
Değişiklikler hemen gerçekleşecek.