Ένας εύκολος τρόπος για να τρέξουμε τα δικά μας script στο Android, χωρίς την ενεργοποίηση του init.d στον πυρήνα του!


Όπως έχουμε πει πολλές φορές στο παρελθόν ένας από τους λόγους επιτυχίας του Android είναι η πλήρης παραμετροποίηση που μπορεί να υποστεί. Εκτός όμως από τις φανερές αλλαγές που πετυχαίνουμε με τους διάφορους launcher, μπορούμε να παραμετροποιήσουμε και το εσωτερικό του συστήματός μας, για να ρυθμίσουμε τα χαρακτηριστικά του όπως ταιριάζουν σε εμάς αν για παράδειγμα θέλουμε καλύτερες επιδόσεις ή περισσότερη αυτονομία.


Ένας εύκολος τρόπος για να αλλάξουμε αυτές τις ρυθμίσεις είναι τα λεγόμενα script και για να τα χρησιμοποιήσουμε πρέπει να ενεργοποιήσουμε την υποστήριξη του init.d στον πυρήνα (kernel) του Android.


Τι είναι τα script;
Είναι αρχεία κειμένου τα οποία είναι συνήθως γραμμένα σε bash και περιέχουν απλές εντολές τερματικού. Με αυτά μπορούμε να κάνουμε βελτιώσεις:

  • στη μπαταρία
  • στο σήμα
  • στο GPS
  • στις επιδόσεις
  • και ότι άλλο μπορούμε να φανταστούμε, αρκεί να το προσθέσουμε στον κώδικα.

Ένα απλό παράδειγμα είναι το παρακάτω:


1 #!/system/bin/sh
2 #Add a line in post_boot.sh
3
4 if [ -e /system/etc/post_boot.sh ]; then
5 echo "/system/etc/init.d/*" >> /system/etc/post_boot.sh



Στις πρώτες γραμμές με τη δίεση (#) υπάρχουν οι πληροφορίες για το script μας. Δηλώνουμε δηλαδή οτι είναι ένα αρχείο bash και το τι κάνει, ενώ στις επόμενες είναι ο κώδικας που στην προκειμένη περίπτωση σημαίνει: "Αν υπάρχει το αρχείο post_boot.sh στη διαδρομή /system/etc, τότε πρόσθεσε μέσα του τη γραμμή: /system/etc/init.d". Είναι γενικά εύκολα να διαβάσουμε τι κάνουν αρκεί να ξέρουμε 15-20 εντολές της κονσόλας του Linux (και του Android στην προκειμένη περίπτωση).


Πώς τα χρησιμοποιούμε χωρίς init.d;
Η υποστήριξη του init.d από τον πυρήνα του Android είναι το χαρακτηριστικό που μας δίνει τη δυνατότητα να τρέξουμε τα δικά μας script, δεν είναι όμως δεδομένη, για αυτό και θα δείτε κάποιες ROM να διαφημίζουν οτι διαθέτουν αυτή την ιδιότητα. Ως γνωστόν όμως, όσο πιο πολύ πειράζεις το σύστημά σου, τόσο πιο ασταθές γίνεται και έτσι βρέθηκε ένας τρόπος να τα καταφέρουμε χωρίς να επέμβουμε στον πυρήνα, με τη μόνη προϋπόθεση η συσκευή μας να είναι rooted.

Η λύση είναι, "να πούμε" στο αρχείο που είναι υπεύθυνο για την επανεκκίνηση της συσκευής, να τρέξει και όλα τα script που έχουμε αποθηκευμένα σε αυτήν. Θεωρητικά μπορεί να δουλέψει σε όλες τις ROΜ του Android αρκεί να μάθουμε ποιο είναι αυτό το αρχείο. Θα το βρούμε στη διαδρομή /system/etc και εάν στη δική σας συσκευή υπάρχει ένα από τα:

  • init.qcom.post_boot.sh
  • init.post_boot.sh
  • post_boot.sh

μπορείτε να κατεβάσετε και να φλασάρετε (με δική σας ευθύνη) μέσω recovery το αρχείο Easy InitD από εδώ: Download

Για τους υπόλοιπους, αρκεί να βρείτε ποιο αρχείο περιέχει τις λέξεις "post boot" και άρα διαχειρίζεται το reboot και να προσθέσετε στο τέλος του (επίσης με δική σας ευθύνη), τη γραμμή:
/system/etc/init.d/*
Αφού το κάνετε, μπορείτε να βάλετε όποιο script θέλετε στη διαδρομή /system/etc/init.d και αυτό θα τρέξει αυτόματα σε κάθε επανεκκίνηση. Έτσι δεν πειράζουμε το σύστημά μας και μπορούμε να βγάζουμε και να βάζουμε τα script με ευκολία στη συσκευή μας.

Οποιοσδήποτε άλλος τρόπος μέχρι σήμερα προϋποθέτει μεγάλες αλλαγές στον πυρήνα, μέχρι και αντικατάστασή του. Αυτός ο τρόπος, αν και δεν ενεργοποιεί το init.d για να χρησιμοποιήσουμε για παράδειγμα το Swapper, είναι μία εύκολη και ασφαλής λύση για τη χρήση των script μας. Δοκιμάστε το και επωφεληθείτε.

Περισσότερες πληροφορίες στο νήμα του στο XDA.

Σχόλια

  1. Τα script ποια μορφη αρχειου εχουν;
    Εκτος απο τα tweaks,μπορω να το προγραμματισω για παραδειγμα να μου ανοιγει μια συγκεκριμενη εφαρμογη κατα το boot ή ακομα και να στελνει μνμ σε συγκεκριμενη επαφη;

    ΑπάντησηΔιαγραφή
    Απαντήσεις
    1. Όσα περιγράφεις γίνονται. Τα script είναι text αρχεία με την κατάληξη .sh. Μπορείς να τα ανοίξεις και να τα επεξεργαστείς με το notepad++ στα windows και με τον απλό επεξεργαστή κειμένου στο linux.

      Διαγραφή

Δημοσίευση σχολίου

Πες την άποψή σου ή κάνε την ερώτησή σου ελεύθερα, ακολουθώντας όμως τους στοιχειώδεις κανόνες ευγένειας.

Δείτε επίσης...

Android | Γιατί δε θα αγόραζα ποτέ smartphone της OnePlus

Φεύγω από την Google (μέρος 15) | ''Ξηλώνουμε'' τα Google apps από το Android

Ιδιωτικό απόρρητο | Το αφελές επιχείρημα του ''Δεν έχω τίποτα να κρύψω''

Docker (μέρος 7) | Στήνουμε έναν reverse proxy για τα container μας με το Traefik

Μάθε παιδί μου Linux (μέρος 11) | Δίσκοι, κατατμήσεις και σύστημα αρχείων (filesystem)

Ubuntu Touch 2020 review | Μια πραγματική mobile GNU/Linux διανομή έτοιμη για καθημερινή χρήση

Android | Περιόρισε την παρακολούθηση των εφαρμογών και κόψε τις διαφημίσεις με το TrackerControl

Απόρρητο | ''Μπερδεύουμε'' τον αλγόριθμο Google και Facebook με ψεύτικες πληροφορίες

Docker (μέρος 1) | Τι είναι και πώς το εγκαθιστούμε στον υπολογιστή μας;

Android | Βάλε στην ''απομόνωση'' τις εφαρμογές που δεν εμπιστεύεσαι με το Shelter