Πώς να σταματήσετε τα Wakelocks από οποιαδήποτε εφαρμογή Android χωρίς Root

Έχετε αναρωτηθεί ποτέ γιατί το τηλέφωνό σας Android καταναλώνει τη διάρκεια ζωής της μπαταρίας σας τόσο γρήγορα όταν η οθόνη είναι σβηστή; Wakelocks! Ακολουθεί ένα σεμινάριο για το πώς να σταματήσετε τα wakelocks!

Έχετε πάει ποτέ για ύπνο το βράδυ με ένα πλήρως φορτισμένο τηλέφωνο, μόνο και μόνο για να ξυπνήσετε με χαμηλή μπαταρία; Μην ανησυχείτε, έχει συμβεί σε όλους μας. Ακόμα και με Λειτουργία Doze και όλα Οι προσπάθειες της Google να βελτιώσει τη διάρκεια ζωής της μπαταρίας στο Android, η διάρκεια ζωής της μπαταρίας σε αδράνεια δεν είναι ακριβώς η ιδανική. Ειδικά αν έχετε εγκαταστήσει πολλές εφαρμογές. Ο ένοχος είναι πιθανότατα μια κακή συμπεριφορά wakelock από μια εφαρμογή όπως το Facebook, το Messenger, το Snapchat. Ευτυχώς, μπορείτε εύκολα να σταματήσετε αυτά τα wakelocks χρησιμοποιώντας απλές εντολές φλοιού. Και δεν χρειάζεται καν root για αυτό! Σήμερα, θα σας δείξουμε πώς μπορείτε σταματήστε τα wakelocks από οποιαδήποτε εφαρμογή Android χωρίς χρήση root. Αυτό μπορεί να γίνει σε κάθε τηλέφωνο Android, αρκεί να έχετε ADB.


Διακοπή Wakelocks από οποιαδήποτε εφαρμογή Android

Εκμάθηση βίντεο από το κανάλι μας στο YouTube σε περίπτωση που προτιμάτε ένα οπτικό βοήθημα

Πριν ξεκινήσετε με οτιδήποτε, θα χρειαστεί να ρυθμίσετε το ADB τόσο στο τηλέφωνό σας όσο και στον υπολογιστή σας. Εάν δεν το έχετε κάνει ακόμα, ανατρέξτε στο αυτό το σεμινάριο για να στηθείς.

Αν δεν είστε απόλυτα σίγουροι για το τι εξαντλείται η μπαταρία σας, θα χρησιμοποιήσουμε ένα μικρό εργαλείο που ονομάζεται "Better Battery Stats" για να βρούμε τον ένοχο. Ο προγραμματιστής είναι ενεργός στα φόρουμ μας, ώστε να μπορείτε να βρείτε την εφαρμογή εδώ. Ωστόσο, εάν θέλετε να υποστηρίξετε τον προγραμματιστή, μπορείτε επίσης να το κατεβάσετε από το Google Play Store, όπου είναι μια εφαρμογή επί πληρωμή. Παρέχει πολλά άλλα στατιστικά στοιχεία, όπως καταστάσεις CPU, αφύπνιση εφαρμογών και πληροφορίες δικτύου.

BetterBatteryStatsΠρογραμματιστής: Σβεν Κνίσπελ

Τιμή: 1,99.

4.

Κατεβάστε

Απαιτεί root σε συσκευές με Android KitKat και νεότερες εκδόσεις, ωστόσο, υπάρχει μια λύση εντολών ADB που υπάρχει για συσκευές χωρίς root. Συνδέστε τη συσκευή σας στον υπολογιστή σας, είτε μέσω εντοπισμού σφαλμάτων USB είτε μέσω εντοπισμού σφαλμάτων WiFi. Βεβαιωθείτε ότι είναι συνδεδεμένο χρησιμοποιώντας την εντολή:

adb devices

Στη συνέχεια, θα ξεκινήσουμε το κέλυφος του Android χρησιμοποιώντας την ακόλουθη εντολή:

adb shell

Στη συνέχεια, θα εκχωρήσουμε στο μόλις εγκατεστημένο BetterBatteryStats την άδεια BATTERY_STATS με:

pmgrantcom.asksven.betterbatterystats_xdaeditionandroid.permission.BATTERY_STATS

Εγινε! Τώρα το BBS θα λειτουργήσει σε μη ριζωμένη συσκευή σας.

Σημείωση: εάν αγοράσατε Better Battery Stats από το Google Play Store, αλλάξτε το "com.asksven.betterbatterystats_xdaedition" σε απλώς "com.asksven.betterbatterystats" στην παραπάνω εντολή ADB.

Βρίσκοντας τον Ένοχο

Έχετε πολλές εφαρμογές στο τηλέφωνό σας, επομένως δεν υπάρχει εύκολος τρόπος να πείτε με βεβαιότητα τι καταναλώνει την μπαταρία σας. Γι' αυτό χρησιμοποιούμε Better Battery Stats για να βρούμε το υπεύθυνο wakelock. Αφού ρυθμίσετε την εφαρμογή, φορτίστε το τηλέφωνό σας και, στη συνέχεια, αποσυνδέστε το και αφήστε το μόνο με την οθόνη σβηστή για τουλάχιστον 30 λεπτά. Αυτό θα δώσει στην εφαρμογή αρκετό χρόνο για να καταχωρήσει τα πάντα. Μόλις μπείτε στην εφαρμογή, επιλέξτε Partial Wakelocks και δείτε ποια εφαρμογή προκαλεί τη μεγαλύτερη ζημιά.

Διακοπή του Wakelock

Τώρα που ξέρουμε τι κατατρώει την μπαταρία σας, μπορούμε να το σταματήσουμε. Στην περίπτωσή μας, είναι το Snapchat. Όποιος κι αν είναι ο ένοχος σας, φροντίστε να βρείτε το όνομα πακέτου της εφαρμογής χρησιμοποιώντας το Package Name Viewer από το Play Store, γιατί θα το χρειαστούμε για την παρακάτω εντολή ADB.

Package Name Viewer 2.0Προγραμματιστής: csIng

Τιμή: Δωρεάν.

4.5.

Κατεβάστε

Καθώς προφανώς αποσυνδέσατε το τηλέφωνό σας για να χρησιμοποιήσετε το Better Battery Stats, συνδέστε το ξανά στον υπολογιστή σας για να χρησιμοποιήσετε ξανά το ADB. Για άλλη μια φορά, ελέγξτε αν έχει συνδεθεί σωστά

adb devices

Και εισάγετε το κέλυφος χρησιμοποιώντας:

adb shell

Τώρα, χρησιμοποιώντας το όνομα πακέτου της εφαρμογής προορισμού, στείλτε την ακόλουθη εντολή:

cmdappopssetcom.android.applicationWAKE_LOCKignore

Φυσικά, θα αλλάξετε το "com.android.application" με το όνομα πακέτου της εφαρμογής σας. Στην περίπτωσή μου:

cmdappopssetcom.snapchat.androidWAKE_LOCKignore

Εάν έχετε κάνει όλα τα βήματα σωστά, όλα τα αιτήματα wakelocks από την εφαρμογή θα αγνοηθούν από το σύστημα Android. Συγχαρητήρια!


Εξήγηση

Το wakelock, με απλούς όρους, είναι απλώς ένας τρόπος για μια εφαρμογή να κρατά την CPU/την οθόνη/ άλλα πράγματα ξύπνια όταν το τηλέφωνο είναι αδρανές, προκειμένου να εκτελέσει μια συγκεκριμένη εργασία στο παρασκήνιο. Ορισμένες εφαρμογές χρειάζονται νόμιμα wakelocks για να λειτουργήσουν σωστά, αλλά το πρόβλημα εμφανίζεται όταν ορισμένες εφαρμογές κρατούν wakelocks επανειλημμένα, κρατήστε τα για μεγάλο χρονικό διάστημα χωρίς να τα πετάξετε ή κάντε υπερβολικές/περιττές εργασίες δικτύου και CPU εκμεταλλευόμενοι αυτά τα wakelocks.

Ενδεικτική περίπτωση: εφαρμογές όπως το Snapchat, το Facebook, το Messenger ή άλλες εφαρμογές κοινωνικών μέσων περιλαμβάνουν ακατάλληλα wakelocks. Αυτό το σεμινάριο είναι απλώς ένας τρόπος να σταματήσετε να επαναλαμβάνονται αυτά τα wakelocks χωρίς να απεγκαταστήσετε την εφαρμογή. Εάν, ωστόσο, παρατηρήσετε ότι η εφαρμογή σταματά να λειτουργεί σωστά μετά τη χρήση αυτής της εντολής ADB, μπορείτε να αλλάξετε τα πράγματα στο εκτελώντας ξανά την εντολή και αλλάζοντας το "ignore" σε "allow" ή απλά απεγκατάσταση και επανεγκατάσταση της εφαρμογής πάλι.