.

Δημιουργούμε τη δική μας ROM για όποια συσκευή θέλουμε με ελάχιστες γνώσεις! - Μέρος 2ο: Βελτιώσεις.


 

Ξεκινήστε διαβάζοντας το πρώτο μέρος με θέμα: Προσθαφαίρεση εφαρμογών.

Αφού αφαιρέσαμε ότι ήταν περιττό και προσθέσαμε τις εφαρμογές που θέλουμε, σειρά έχουν οι απαραίτητες βελτιώσεις στο σύστημα. Το Android και ο Linux kernel επιδέχονται ένα σωρό μετατροπές, άλλες δύσκολες και άλλες εύκολες και εμείς θα δούμε τις σημαντικότερες από τις απλές, μιας και όπως είπαμε δε θα χρησιμοποιήσουμε καθόλου κώδικα.

Προσοχή!: Η χρήση των οδηγιών που θα διαβάσετε παρακάτω, όπως και στα επόμενα άρθρα για την κατασκευή μιας custom ROM είναι αποκλειστικά δική σας ευθύνη. Καμία ευθύνη δε φέρει η ιστοσελίδα ή ο συντάκτης για οποιοδήποτε πρόβλημα δημιουργηθεί σε οποιαδήποτε συσκευή, χρησιμοποιώντας τις παρακάτω οδηγίες.

Βελτιώσεις
Εδώ θα μάθουμε τον τρόπο για να έχουμε καλύτερο σήμα, μεγαλύτερης ανάλυσης φωτογραφίες, απαγόρευση διαφημίσεων και άλλα τέτοια κολπάκια και σίγουρα θα αναρωτιέστε γιατί οι εταιρίες κατασκευής δεν τα πρόσθεσαν από την αρχή στις συσκευές τους; Η απάντηση είναι η κατανάλωση πόρων. Κάθε βελτίωση που κάνουμε προϋποθέτει από τη συσκευή μας να δουλεύει σκληρότερα για να ανταπεξέλθει και αν δε θέλετε το κινητό σας να κλείνει σε λιγότερο από 5 ώρες λόγω μπαταρίας, χρησιμοποιήστε τις παρακάτω επιλογές με σύνεση.

1. Διαφημίσεις... τέλος!
Έχει αποδειχθεί στο παρελθόν ότι οι διαφημίσεις εντός των εφαρμογών, δεν είναι μόνο εκνευριστικές αλλά καταναλώνουν μπαταρία και δεδομένα. Το Linux και το Android ειδικότερα, μας δίνουν τη δυνατότητα με έναν εύκολο τρόπο να απαλλαγούμε από αυτές, δημιουργώντας ένα απλό αρχείο κειμένου. Στο αρχείο αυτό που θα ονομάσουμε "hosts" και θα τοποθετήσουμε στη διαδρομή "/system/etc" της ROM μας, μπορούμε να προσθέσουμε όποια διεύθυνση στο ίντερνετ θέλουμε και αυτομάτως να διακοπεί η πρόσβαση σε αυτή.


Το πρόβλημα σε αυτή την περίπτωση είναι ότι τα link που οδηγούν σε διαφημίσεις είναι χιλιάδες και δεν είναι δυνατό να τα ξέρουμε απ' έξω. Θα πρέπει λοιπόν να βρούμε ένα έτοιμο αρχείο στο οποίο θα προσθέσουμε αν θέλουμε και άλλα site όπως π.χ. πορνογραφικά.


Για να μην ψάχνετε αδίκως μπορείτε να κατεβάσετε από εδώ (Dropbox) το αρχείο που χρησιμοποιώ εγώ και να το αποθηκεύσετε στη διαδρομή "/system/etc".

Σημείωση: Οι διαφημίσεις είναι το μοναδικό έσοδο για έναν developer ο οποίος μας προσφέρει την εφαρμογή ή το παιχνίδι του δωρεάν στο Play Store. Πριν τις διακόψετε σκεφτείτε σοβαρά να αγοράσετε την αντίστοιχη donate version της εφαρμογής.

2. Build.prop tweaks
To build.prop είναι ένα απλό αρχείο κειμένου το οποίο αντί για κατάληξη .txt έχει αυτή του .prop. Ο ρόλος του είναι να ενημερώνει και να παρακάμπτει, είναι δηλαδή κάτι σαν οδηγός για οτιδήποτε ζητάει πληροφορίες από το Android. Θα το βρούμε στο φάκελο "system" της ROM μας και μπορούμε να το επεξεργαστούμε με το Notepad++ στα Windows και τον προεγκατεστημένο επεξεργαστή κειμένου σε Linux και Mac.


Ανοίγοντάς το θα βρούμε μέσα ένα σωρό πληροφορίες τις οποίες μπορούμε να αλλάξουμε, όπως για παράδειγμα:
  • το "ro.product.model", το οποίο διαβάζουν οι εφαρμογές όπως το Play Store για να δουν ποια συσκευή έχουμε. Αν λοιπόν γράψουμε "ro.product.model=Galaxy Nexus" στο bulid.prop της ROM μας, το κινητό μας θα αναγνωρίζεται ως Galaxy Nexus! Το χρησιμοποιήσαμε παλιότερα στις εξής περιπτώσεις: BoxPhoto SphereS-Voice.
  • το "ro.build.version.release" το οποίο μας ενημερώνει για την έκδοση του Android που έχουμε στη συσκευή μας, πηγαίνοντας στο μενού "Ρυθμίσεις > Σχετικά με το τηλέφωνο". Αν λοιπόν εκεί γράψουμε "ro.build.version.release=Android 5.0" στις ρυθμίσεις μας θα γράφει ότι έχουμε το Android 5.0 (μια καλή ιδέα για να κάνουμε πλάκα στους φίλους μας)!

Αυτά που έχουν όμως μεγαλύτερη σημασία είναι όσα βρίσκονται κάτω από τη γραμμή "# ADDITIONAL_BUILD_PROPERTIES". Εκεί είναι οι πραγματικές βελτιώσεις και μπορούμε να τις αλλάξουμε ή και να προσθέσουμε όσες δικές μας θέλουμε. Για παράδειγμα:
  • προσθέτοντας τη γραμμή "ro.product.multi_touch_enabled=true" ενεργοποιούμε το multi-touch στην οθόνη της συσκευής
  • προσθέτοντας τη γραμμή "ro.product.max_num_touch=2" κάνουμε τη συσκευή μας να αναγνωρίζει μόνο δύο δάχτυλα ταυτόχρονα

Θα δείτε παρακάτω μία πρόχειρη λίστα με βελτιώσεις που μπορούμε να προσθέσουμε στη συσκευή μας μέσω του build.prop, όμως για να λειτουργήσουν θα πρέπει να υποστηρίζονται από αυτή. Δεν μπορούμε δηλαδή σε μία οθόνη που δεν έχει multi-touch δυνατότητες, να τις ενεργοποιήσουμε με τον παραπάνω τρόπο.

Η λίστα
ro.HOME_APP_ADJ=1

Κλειδώνει τον προεπιλεγμένο launcher στη μνήμη με σκοπό να μην κρασάρει. Το χρησιμοποιούμε μόνο με ελαφρούς launcher και σε συσκευές από Android 2.3 Gingerbread και κάτω, καθώς στις νεότερες εκδόσεις είναι ενσωματωμένο.


sys.keep_app_1=com.παράδειγμα_εφαρμογής.app

Κλειδώνει οποιαδήποτε εφαρμογή στη μνήμη, αρκεί να δώσουμε σωστά το όνομα του apk.


ro.media.enc.jpeg.quality=100
ro.media.enc.hprof.vid.bps=8000000
ro.media.enc.hprof.vid.fps=25

Βελτιώνει την ποιότητα ήχου και βίντεο της κάμερας

media.stagefright.enable-player=true
media.stagefright.enable-meta=true
media.stagefright.enable-scan=true
media.stagefright.enable-http=true
media.stagefright.enable-rtsp=true

Κάνει ταχύτερο το stream πολυμέσων από το ίντερνετ

debug.sf.hw=1
video.accelerate.hw=1
debug.egl.profiler=1
debug.egl.hw=1
debug.composition.type=gpu

Ενεργοποιεί το video acceleration και το  HW debugging. Το χρησιμοποιούμε μόνο σε συσκευές με GPU.

profiler.force_disable_err_rpt=1
profiler.force_disable_ulog=1

Απενεργοποιεί τα error report.

ro.ril.power_collapse=1
pm.sleep_mode=1
wifi.supplicant_scan_interval=120
ro.mot.eri.losalert.delay=1000

Αυξάνει την αυτονομία κάνοντας το WiFi της συσκευής να ψάχνει για δίκτυα κάθε 120 δευτερόλεπτα (προεπιλεγμένα είναι τα 60 δευτερόλεπτα). Το "ro.mot.eri.losalert.delay=1000" μπορεί να προκαλέσει πρόβλημα στο tethering (Κοινή χρήση σύνδεσης).

ro.ril.hep=0
ro.ril.hsxpa=2
ro.ril.gprsclass=12
ro.ril.enable.dtm=1
ro.ril.hsdpa.category=8
ro.ril.enable.a53=1
ro.ril.enable.3g.prefix=1
ro.ril.htcmaskw1.bitmask=4294967295
ro.ril.htcmaskw1=14449
ro.ril.hsupa.category=6

Βελτιώσεις σχετικά με την ταχύτητα του 3G δικτύου.

logcat.live=disable

Απενεργοποιεί τα log file.

ro.product.multi_touch_enabled=true
ro.product.max_num_touch=2

Με αυτό η οθόνη αναγνωρίζει μέχρι δύο δάχτυλα. Φυσικά μπορούμε να βάλουμε όποιον αριθμό θέλουμε από το 1 έως το 10 αρκεί να το υποστηρίζει η συσκευή μας.

ro.telephony.call_ring.delay=0
ring.delay=0

Ο ήχος κλήσης ακούγεται γρηγορότερα σε ενδεχόμενο τηλεφώνημα.

ro.lge.proximity.delay=25
mot.proximity.delay=25

Απενεργοποιεί τη μαύρη οθόνη στο τέλος κάθε κλήσης.

windowsmgr.max_events_per_sec=84
ro.max.fling_velocity=12000
ro.min.fling_velocity=8000

Καλύτερη κύλιση.

persist.cust.tel.eons=1
ro.config.hw_fast_dormancy=1 

Καλύτερο σήμα τηλεφωνικού δικτύου.

ro.ril.enable.amr.wideband=1

Καλύτερη ποιότητα ήχου κατά τη διάρκεια της κλήσης.

ro.config.hw_quickpoweron=true
persist.sys.shutdown.mode=hibernate
dev.bootcomplete=0

Ταχύτερη εκκίνηση της συσκευής.

ro.kernel.android.checkjni=0
ro.kernel.checkjni=0

Απενεργοποιεί τους ελέγχους για σφάλματα.

dalvik.vm.checkjni=false
dalvik.vm.dexopt-data-only=1
dalvik.vm.verify-bytecode=false
dalvik.vm.lockprof.threshold=250
dalvik.vm.dexopt-flags=m=y,v=n,o=a,u=y
dalvik.vm.jmiopts=forcecopy

Βελτιώσεις του Dalvik VM.

ro.config.nocheckin=1

Απενεργοποιεί την αποστολή δεδομένων χρήσης στη Google.

persist.adb.notify=0

Απενεργοποιεί την ειδοποίηση του ADB στη status bar, όταν αυτό είναι ενεργοποιημένο.

 ro.sf.lcd.density=240

Αλλάζει την ανάλυση της οθόνης. Το 240 είναι το προεπιλεγμένο. Τα phone/tablet/phablet mode που βλέπουμε σε διάφορες ROM, από εδώ προέρχονται. Με προσοχή η χρήση του διότι ενδέχεται να έχετε προβλήματα.

ro.gsm.2nd_data_retry_config=max/_retries=3, 2000, 2000, 2000

Ξαναστέλνει τα SMS/MMS που δεν έφυγαν με επιτυχία, σε δύο αντί για πέντε δευτερόλεπτα που είναι το προεπιλεγμένο.

ro.mot.buttonlight.timeout=0

Τα πλήκτρα παραμένουν αναμμένα όσο έχουμε ανοιχτή την οθόνη.

ro.config.vc_call_steps=20

Προσθέτει περισσότερες "σκάλες" όταν αυξομειώνουμε την ένταση του ήχου.

ro.config.hwfeature_wakeupkey=0

Απαγορεύει στα πλήκτρα ήχου να ενεργοποιούν την οθόνη της συσκευής.

persist.sys.usb.config=mtp

Ενεργοποιεί αυτόματα το MTP όποτε συνδέουμε τη συσκευή μας σε υπολογιστή.

net.rmnet0.dns1=8.8.8.8
net.rmnet0.dns2=8.8.4.4
net.ppp0.dns1=8.8.8.8
net.ppp0.dns2=8.8.4.4
net.dns1=8.8.8.8
net.dns2=8.8.4.4

Καλύτερη ταχύτητα στο ίντερνετ μέσω των DNS της Google.

persist.sys.purgeable.assets=1

Ελευθερώνει περισσότερη μνήμη RAM ότι το σύστημα τη χρειάζεται.

debug.sf.bootanimation=1

Απενεργοποιεί το υπάρχον bootanimation για ταχύτερη εκκίνηση. Ενεργοποιεί όμως το αυθεντικό bootanimation του Android!

Τα παραπάνω είναι μόνο παραδείγματα! Μπορείτε να βρείτε πάρα πολλά ακόμα στο XDA αλλά και κάνοντας μια απλή αναζήτηση στο Google για "Build.prop tweaks".

Σημείωση: Όλα τα παραπάνω μπορούν να ενεργοποιηθούν και χωρίς να λερώσουμε τα χέρια μας με τη βοήθεια της εφαρμογής Pimp My ROM, στο τηλέφωνό μας. Κατεβάστε την και μάθετε περισσότερα πράγματα για το σκοπό ύπαρξης και τη λειτουργία του κάθε tweak.

3. Προσθήκη νέων χαρακτηριστικών
Σχεδόν κάθε νέο hack που βλέπουμε στο XDA συνοδεύεται από ένα zip αρχείο το οποίο εγκαθίσταται μέσω της κονσόλας recovery. Τα χαρακτηριστικά του όμως μπορούμε να τα ενσωματώσουμε και στη ROM μας, αντιγράφοντας τα περιεχόμενα του zip στους σωστούς φακέλους της.


Ας πάρουμε για παράδειγμα το Beats Audio το οποίο είναι αποκλειστικό χαρακτηριστικό των HTC συσκευών. Για να το ενσωματώσουμε στη ROM μας θα πρέπει να σιγουρευτούμε:
  • ότι λειτουργεί στη συσκευή για την οποία προορίζεται η ROM μας. Αν δηλαδή το hack είναι για το Galaxy SIII και η ROM μας προορίζεται για το Nexus S, προφανώς και δε θα λειτουργήσει.
  • ότι υποστηρίζεται η έκδοση Android πάνω στην οποία "χτίζουμε" τη ROM. Αν δηλαδή το hack λειτουργεί μόνο σε Android 4 ICS συσκευές και άνω και η ROM μας είναι Android 2.3 Gingerbread, δε θα λειτουργήσει.

Η διαδικασία που θα ακολουθήσουμε έχει ως εξής:

1. Κατεβάζουμε το zip, το οποίο θα πρέπει να είναι εγκαταστάσιμο μέσω CWM recovery.
2. Το αποσυμπιέζουμε, αγνοούμε το φάκελο "ΜΕΤΑ-ΙΝF" και μπαίνουμε στο φάκελο "system".
3. Αντιγράφουμε τα περιεχόμενα των φακέλων που περιέχονται στο "system", στους αντίστοιχους φακέλους της ROM μας.

Δηλαδή, τα περιεχόμενα του "bin" πρέπει να τα αντιγράψουμε στη διαδρομή "/system/bin" της ROM μας. Ομοίως και για το φάκελο "etc" του οποίου τα περιεχόμενα θα πάνε στο "/system/etc" και για τον φάκελο "lib", στο "/system/lib". Τόσο απλό είναι!


Την ίδια μέθοδο μπορούμε να ακολουθήσουμε για παράδειγμα με τη Bravia Engine και το xLoud της Sony και με ένα σωρό άλλα hack που κυκλοφορούν στο XDA, δημιουργώντας το απόλυτο superphone. Φυσικά υπάρχει πάντα το ενδεχόμενο να μη λειτουργήσουν όλα, για αυτό προσέχουμε να προσθέτουμε ένα κάθε φορά, να φλασάρουμε τη ROM μας για να δούμε αν όλα λειτουργούν σωστά και να προχωράμε στο επόμενο.

Στο τρίτο μέρος
Στο τρίτο κεφάλαιο της σειράς μας θα δούμε τον τρόπο για να φτιάξουμε τα δικά μας εικονίδια και να καλλωπίσουμε τη ROM μας σύμφωνα με τα δικά μας προσωπικά γούστα.

Θα χαρούμε φυσικά να διαβάσουμε τις δικές σας προτάσεις και διορθώσεις στα σχόλια παρακάτω.

Υ.Γ. Τεράστιο βγήκε!


 
© 2012-2015 Dr. Android | Original theme design by Main-Blogger - Blogger Template and Blogging Stuff | Material design by Chris K.