Aplicativos como Link2SD e Titanium Backup podem "congelar" outros aplicativos, ou seja, desativá-los sem removê-los. O que esses aplicativos fazem para conseguir isso?
fonte
Aplicativos como Link2SD e Titanium Backup podem "congelar" outros aplicativos, ou seja, desativá-los sem removê-los. O que esses aplicativos fazem para conseguir isso?
O Titanium Backup etc apenas usa o built-in Package Manager (pm)
para congelar um aplicativo. pm
tem um recurso para impedir que aplicativos sejam executados e apareçam no Launcher. Para usá-lo, o Titanium Backup etc execute o seguinte comando:
pm desativar {nome_pacote}
Você pode congelar aplicativos sozinho sem usar um aplicativo congelador dedicado. Basta usar o comando acima no Emulador de Terminal ou ADB Shell
.
Por exemplo, se você deseja congelar Stock Web Browser
, abra Terminal Emulator
e mude para root usando o su
comando Então, execute # pm disable com.android.browser
.
Vai voltar #Package com.android.browser new state: disabled
. Feito!
Reinicie o Launcher (alguns dispositivos podem exigir reinicialização) para ver o ícone do aplicativo desaparecido.
Para descongelar o aplicativo, basta substituir disable
por enable
no comando
pm disable
apenas diz "matado", e o processo inicia novamente imediatamente. kill -STOP pid é melhor. Você pode ver quais estão parados naps
saída.Eu descobri como
pm disable
funciona:Se você executar
cat /system/bin/pm
, ele fornecerá:Então, aparentemente, é o mesmo que o PackageManager que usamos do Java, está chamando - apenas em um contexto raiz que nenhum aplicativo de usuário pode acessar diretamente.
Você pode verificar se algo está congelado, usando
fonte
Nos sistemas Unix, os arquivos têm três autorizações: leitura, gravação e execução.
(Para três categorias de pessoas: o proprietário do arquivo [geralmente seu criador], um grupo de pessoas e todos os outros, mas está fora do assunto).
Se você remover a autorização de execução do arquivo, ele não poderá mais ser iniciado (executado).
fonte