Como parar Wakelocks de qualquer aplicativo Android sem root

Você já se perguntou por que seu telefone Android consome bateria tão rápido quando a tela está desligada? Wakelocks! Aqui está um tutorial sobre como parar wakelocks!

Você já dormiu à noite com o telefone totalmente carregado, só para acordar com a bateria fraca? Não se preocupe, isso aconteceu com todos nós. Mesmo com Modo cochilo e tudo Os esforços do Google para melhorar a vida útil da bateria no Android, a duração da bateria ociosa não é exatamente ideal. Especialmente se você tiver muitos aplicativos instalados. O culpado é provavelmente um wakelock malcomportado de um aplicativo como Facebook, Messenger, Snapchat, entre outros. Felizmente, você pode interromper facilmente esses wakelocks usando comandos simples do shell. E você nem precisa de root para isso! Hoje, mostraremos como você pode pare wakelocks de qualquer aplicativo Android sem usar root. Isso pode ser feito em qualquer telefone Android, desde que você tenha ADB.


Pare Wakelocks de qualquer aplicativo Android

Tutorial em vídeo do nosso canal no YouTube caso você prefira um auxílio visual

Antes de começar qualquer coisa, você precisará configurar o ADB no telefone e no computador. Se você ainda não fez isso, consulte este tutorial para se preparar.

A menos que você tenha certeza absoluta do que está descarregando sua bateria, usaremos uma pequena ferramenta chamada “Better Battery Stats” para encontrar o culpado. O desenvolvedor está ativo em nossos fóruns, então você pode encontrar o aplicativo aqui. No entanto, se quiser apoiar o desenvolvedor, você também pode baixá-lo na Google Play Store, onde é um aplicativo pago. Ele fornece muitas outras estatísticas, como estados da CPU, ativações de aplicativos e informações de rede.

Melhores estatísticas de bateriaDesenvolvedor: Sven Knispel

Preço: 1,99.

4.

Download

Requer root em dispositivos com Android KitKat e superior, no entanto, existe uma solução alternativa de comando ADB para dispositivos sem root. Conecte seu dispositivo ao computador, seja por meio de depuração USB ou depuração WiFi. Certifique-se de que esteja conectado usando o comando:

adb devices

Então, vamos iniciar o shell do Android usando o seguinte comando:

adb shell

Depois, concederemos ao BetterBatteryStats recém-instalado a permissão BATTERY_STATS com:

pmgrantcom.asksven.betterbatterystats_xdaeditionandroid.permission.BATTERY_STATS

Feito! Agora o BBS funcionará no seu dispositivo sem root.

Observação: se você comprou Better Battery Stats na Google Play Store, altere "com.asksven.betterbatterystats_xdaedition" para apenas "com.asksven.betterbatterystats" no comando ADB acima.

Encontrando o culpado

Você tem muitos aplicativos em seu telefone, então não há uma maneira fácil de saber com certeza o que está consumindo sua bateria. É por isso que estamos usando Better Battery Stats para encontrar o wakelock responsável. Depois de configurar o aplicativo, carregue o telefone, desconecte-o e deixe-o sozinho com a tela desligada por pelo menos 30 minutos. Isso deve dar ao aplicativo bastante tempo para registrar tudo. Uma vez dentro do aplicativo, selecione Wakelocks parciais e veja qual aplicativo está causando mais danos.

Parando o Wakelock

Agora que sabemos o que está consumindo sua bateria, podemos acabar com isso. No nosso caso, é o Snapchat. Seja qual for o culpado, certifique-se de encontrar o nome do pacote do aplicativo usando o Package Name Viewer da Play Store, porque precisaremos dele para nosso comando ADB abaixo.

Visualizador de nome de pacote 2.0Desenvolvedor: csIng

Preço: Grátis.

4.5.

Download

Como você obviamente desconectou o telefone para usar o Better Battery Stats, conecte-o novamente ao computador para usar o ADB novamente. Mais uma vez, verifique se está conectado corretamente com

adb devices

E entre no shell usando:

adb shell

Agora, usando o nome do pacote do seu aplicativo de destino, envie o seguinte comando:

cmdappopssetcom.android.applicationWAKE_LOCKignore

Claro, você vai trocar “com.android.application” pelo nome do pacote do seu aplicativo. No meu caso:

cmdappopssetcom.snapchat.androidWAKE_LOCKignore

Se você executou todos os passos corretamente, todas as solicitações de wakelocks do app serão ignoradas pelo sistema Android. Parabéns!


Explicação

Um wakelock, em termos leigos, é apenas uma maneira de um aplicativo manter a CPU/tela/outras coisas ativadas quando o telefone está ocioso para executar uma tarefa específica em segundo plano. Alguns aplicativos precisam legitimamente de wakelocks para funcionar corretamente, mas o problema surge quando alguns aplicativos mantêm wakelocks repetidamente, mantê-los por um longo tempo sem deixá-los cair ou realizar tarefas excessivas/desnecessárias de rede e CPU aproveitando essas vantagens. despertadores.

Caso em questão: aplicativos como Snapchat, Facebook, Messenger ou outros aplicativos de mídia social incluem wakelocks com comportamento inadequado. Este tutorial é simplesmente uma maneira de impedir que esses wakelocks aconteçam novamente sem desinstalar o aplicativo. Se, no entanto, você notar que o aplicativo para de funcionar corretamente após usar este comando ADB, você pode voltar para o como estavam, executando novamente o comando e alterando "ignorar" para "permitir" ou simplesmente desinstalando e reinstalando o aplicativo de novo.