Cum să opriți Wakelock-urile din orice aplicație Android fără root

Te-ai întrebat vreodată de ce telefonul tău Android consumă bateria atât de repede când ecranul este oprit? Wakelocks! Iată un tutorial despre cum să oprești wakelock-urile!

Te-ai dus vreodată să dormi noaptea cu un telefon complet încărcat, doar ca să te trezești cu bateria descărcată? Nu vă faceți griji, ni s-a întâmplat tuturor. Chiar si cu Modul Doze si tot Eforturile Google de a îmbunătăți durata de viață a bateriei pe Android, durata de viață inactivă a bateriei nu este tocmai ideală. Mai ales dacă aveți o mulțime de aplicații instalate. Cel mai probabil, vinovatul este un wakelock care se comportă greșit dintr-o aplicație precum Facebook, Messenger, Snapchat, ce vrei să spui. Din fericire, puteți opri cu ușurință aceste wakelock-uri folosind comenzi simple shell. Și nici măcar nu aveți nevoie de root pentru asta! Astăzi, vă vom arăta cum puteți opriți wakelock-urile din orice aplicație Android fără a folosi root. Acest lucru se poate face pe fiecare telefon Android, atâta timp cât aveți ADB.


Opriți Wakelock-urile din orice aplicație Android

Tutorial video de pe canalul nostru de YouTube în cazul în care preferați un ajutor vizual

Înainte de a începe cu orice, va trebui să configurați ADB atât pe telefon, cât și pe computer. Dacă nu ați făcut-o încă, vă rugăm să consultați acest tutorial pentru a te pune la punct.

Dacă nu sunteți complet sigur de ceea ce vă consumă bateria, vom folosi un mic instrument numit „Statistici mai bune pentru baterie” pentru a găsi vinovatul. Dezvoltatorul este activ pe forumurile noastre, așa că puteți găsi aplicația Aici. Cu toate acestea, dacă doriți să sprijiniți dezvoltatorul, îl puteți descărca și din Magazinul Google Play, unde este o aplicație plătită. Oferă multe alte statistici, cum ar fi stările CPU, trezirile aplicației și informațiile despre rețea.

BetterBatteryStatsDezvoltator: Sven Knispel

Pret: 1,99.

4.

Descarca

Necesită root pe dispozitivele cu Android KitKat și mai sus, cu toate acestea, există o soluție de comandă ADB care există pentru dispozitivele nerootate. Conectați-vă dispozitivul la computer, fie prin depanare USB, fie prin depanare WiFi. Asigurați-vă că este conectat utilizând comanda:

adb devices

Apoi, vom porni shell-ul Android folosind următoarea comandă:

adb shell

Ulterior, vom acorda BetterBatteryStats tocmai instalat permisiunea BATTERY_STATS cu:

pmgrantcom.asksven.betterbatterystats_xdaeditionandroid.permission.BATTERY_STATS

Terminat! Acum BBS va funcționa pe dispozitivul tău nerootat.

Notă: dacă ați achiziționat Better Battery Stats din Google Play Store, atunci schimbați „com.asksven.betterbatterystats_xdaedition” în doar „com.asksven.betterbatterystats” în comanda ADB de mai sus.

Găsirea Vinovatului

Aveți multe aplicații pe telefon, așa că nu există o modalitate ușoară de a spune cu siguranță ce vă consumă bateria. De aceea, folosim Better Battery Stats pentru a găsi wakelock-ul responsabil. După configurarea aplicației, încărcați-vă telefonul, apoi deconectați-l și lăsați-l singur cu ecranul oprit timp de cel puțin 30 de minute. Acest lucru ar trebui să ofere aplicației suficient timp pentru a înregistra totul. Odată ce intrați în aplicație, selectați Parțial Wakelocks și vedeți ce aplicație provoacă cele mai multe daune.

Oprirea Wakelock-ului

Acum că știm ce îți consumă bateria, putem pune capăt. În cazul nostru, este Snapchat. Oricare ar fi vinovatul dvs., asigurați-vă că găsiți numele pachetului aplicației folosind Package Name Viewer din Play Store, deoarece vom avea nevoie de el pentru comanda noastră ADB de mai jos.

Package Name Viewer 2.0Dezvoltator: csIng

Pret: Gratuit.

4.5.

Descarca

Deoarece, evident, v-ați deconectat telefonul pentru a utiliza Better Battery Stats, conectați-l înapoi la computer pentru a utiliza din nou ADB. Încă o dată, verificați dacă este conectat corect

adb devices

Și intră în shell folosind:

adb shell

Acum, folosind numele pachetului aplicației țintă, trimiteți următoarea comandă:

cmdappopssetcom.android.applicationWAKE_LOCKignore

Desigur, vei comuta „com.android.application” cu numele pachetului aplicației tale. În cazul meu:

cmdappopssetcom.snapchat.androidWAKE_LOCKignore

Dacă ați făcut toți pașii corect, toate solicitările de wakelock ale aplicației vor fi ignorate de sistemul Android. Felicitări!


Explicaţie

Un wakelock, în termeni profani, este doar o modalitate prin care o aplicație de a menține treaz CPU/ecranul/alte lucruri atunci când telefonul este inactiv pentru a efectua o anumită sarcină de fundal. Unele aplicații au nevoie în mod legitim de wakelock-uri pentru a funcționa corect, dar problema vine atunci când unele aplicații dețin wakelock-uri în mod repetat, țineți-le mult timp fără a le scăpa sau faceți sarcini excesive/inutile de rețea și CPU, profitând de acestea wakelock-uri.

Exemplu: aplicațiile precum Snapchat, Facebook, Messenger sau alte aplicații de rețele sociale includ wakelock-uri care se comportă greșit. Acest tutorial este pur și simplu o modalitate de a opri aceste wakelock-uri să nu se repete fără a dezinstala aplicația. Dacă, totuși, observați că aplicația nu mai funcționează corect după utilizarea acestei comenzi ADB, puteți schimba lucrurile înapoi la felul în care au fost prin re-rularea comenzii și schimbarea „ignore” în „permite” sau pur și simplu dezinstalând apoi reinstalând aplicația din nou.