Sim. O comando é pm disable <package name>
. Você deve ser root para fazer isso:
Abra o shell e obtenha o root:
PC> adb shell
shell@hammerhead:/ $ su
Liste todos os aplicativos ativados, filtre por "calculadora":
root@hammerhead:/ # pm list packages -e | grep 'calculator'
package:com.android.calculator2
Desativar aplicativo:
root@hammerhead:/ # pm disable com.android.calculator2
Package com.android.calculator2 new state: disabled
Listar todos os aplicativos desativados:
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:/ #
Algumas outras coisas dignas de nota:
- Nos meus testes, os aplicativos desativados dessa maneira desaparecem completamente da lista Configurações> Aplicativos. Eles nem parecem ser exibidos na guia "Desativado"
- Você pode reativar aplicativos com
pm enable <package name>
. De fato, esta parece ser a única maneira de reativá-los, na minha experiência.
Manifest
ou algo parecido (não sou desenvolvedor de Android, não sei dizer).Além da resposta de @eldarerathis, você pode desativar um aplicativo para um usuário específico. Usei esse método para remover alguns aplicativos de um usuário restrito que não estavam listados na tela de configurações do usuário. Todos os comandos de um
adb shell
. É necessário acesso raiz para fazer alterações.Primeiro, obtenha o ID do usuário:
Então
Para reativar
Neste exemplo, Alice pode usar o gerenciador de arquivos, mas Bob não.
Você pode fazer algo semelhante ao
hide
invés dedisable
. Não sei ao certo qual é o melhor, mas veja esta resposta . O inverso dehide
éunhide
(pode ser necessário reiniciarunhide
).Você pode listar pacotes com
pm list pacakges --user 11
. Dê-e
para listar pacotes ativados ou-d
se você deseja ver os desativados. Parece não haver filtro para pacotes ocultos.FWIW, tentei o acima no Lollipop com CM 12.1 em um Amazon Fire (KFFOWI).
fonte
Isso deve funcionar independentemente de o aplicativo ser um sistema ou um aplicativo de terceiros (usuário instalado).
Veja minha resposta em Determine o nome do pacote do seu aplicativo para obter o nome do pacote do aplicativo em questão e use o shell adb para executar estes comandos ( requer acesso root ):
PACKAGE
refere-se ao nome do pacote do aplicativoPara restabelecer o aplicativo, substitua disable com permitir , esconder com unhide , e suspender com UNSUSPEND no comando dito e executá-lo com privilégios de root.
Se você possui o Android KitKat ou superior e não possui acesso root , use adb no PC para executar este comando:
Para restabelecer o aplicativo:
As mudanças ocorreriam imediatamente.
fonte