.

Δημιουργούμε τη δική μας ROM για όποια συσκευή θέλουμε με ελάχιστες γνώσεις! - Μέρος 1ο: Προσθαφαίρεση αρχείων


 

Ο όρος "custom ROM" είναι λίγο πολύ γνωστός στους ιδιοκτήτες Android συσκευών. Οι περισσότεροι έχουμε δοκιμάσει πολλές, αρκετοί έχουμε καταλήξει στην αγαπημένη μας και άλλοι ψαχνόμαστε ακόμα, όμως όλοι συμφωνούμε ότι οι custom ROM είναι ένα τεράστιο και ιδιαίτερα σημαντικό κεφάλαιο για το Android και τους χρήστες του (αν δεν ξέρετε για τι πράγμα μιλάμε, ενημερωθείτε εδώ).

Στην περίπτωση λοιπόν που δοκιμάσατε διάφορες ROM αλλά με καμία δε μείνατε 100% ευχαριστημένοι, ελάτε να δούμε πώς θα φτιάξουμε τη δική μας custom ROM για τη συσκευή μας, χωρίς να χρειαστεί να γράψουμε ούτε μία γραμμή κώδικα! Το μόνο που χρειάζεται για να τα καταφέρουμε είναι να είμαστε εξπέρ στην τέχνη:
  • του διπλού κλικ και
  • της αντιγραφής και επικόλλησης.

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

Ο σωστός δρόμος...
Αν γνωρίζαμε τη "γλώσσα" του Android, θα έπρεπε να κατεβάσουμε τον κώδικά του, να τον κάνουμε compile για τη συσκευή μας και να διορθώσουμε τα προβλήματα που θα προκύψουν, όπως η λειτουργία της κάμερας που είναι σύνηθες. Αυτό που θα προέκυπτε είναι μία καθαρή ROM σαν αυτή που "φοράνε" οι Nexus συσκευές την οποία αργότερα θα έπρεπε να διαμορφώσουμε ανάλογα με τα γούστα μας.

Επειδή έχω δοκιμάσει πολλές φορές να κάνω compile, θα πρέπει να σας πω ότι τις μισές φορές δε θα γίνει με επιτυχία και τις άλλες μισές θα είναι τέτοια τα προβλήματα της ROM που δεν ξέρεις από πού να αρχίσεις για να τα διορθώσεις. Οπότε ο κλασικός τρόπος απορρίπτεται μιας και δεν έχουμε τέτοιες γνώσεις, αν θέλετε όμως να δοκιμάσετε διαβάστε τα απαραίτητα για το στήσιμο στον υπολογιστή σας, ή δοκιμάστε το CM Compiler.

... και ο παράδρομος!
Για να αποφύγουμε λοιπόν το compile, μας αρκεί να βρούμε μία έτοιμη custom ROM στο ίντερνετ για να τη χρησιμοποιήσουμε ως βάση. Η ROM που θα διαλέξουμε θα πρέπει:
  • να είναι κατασκευασμένη για τη συσκευή μας
  • να λειτουργεί σωστά, δηλαδή αν σε αυτή που θα επιλέξουμε δεν λειτουργεί η κάμερα, τότε ούτε στη ROM μας θα λειτουργεί.
  • να περιέχει το περιβάλλον που θέλουμε να έχουμε (Sense, Touchwiz κλπ.)

Προσωπικά θα επέλεγα:
  • μία "καθαρή" ROM κατασκευασμένη απευθείας από τον κώδικα του Android (AOSP) 
  • ή μία stock ROM από τον κατασκευαστή της συσκευής μου 
  • ή μία ROM εγνωσμένης αξίας όπως η CyanogenMod ή η AOKP.

Μπορείτε για παράδειγμα να βρείτε μία ωραία βάση για το Nexus S εδώ, για το Galaxy Nexus εδώ και για πολλές ακόμα συσκευές στο XDA, για να ξεκινήσετε.


Ξεκινάμε!

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

Αφού επιλέξαμε τη ROM που θέλουμε να χρησιμοποιήσουμε και κατεβάσαμε το .zip της στον υπολογιστή μας, την αποσυμπιέζουμε σε ένα φάκελο. Εκεί μέσα θα βρούμε:
  • το φάκελο "META-INF"
  • το φάκελο "system"
  • και το αρχείο "boot.img"


Αυτό που μας ενδιαφέρει είναι ο φάκελος "system" και μέσα σε αυτόν βρίσκονται όλα τα αρχεία που θέλουμε να προσθέσουμε, να αφαιρέσουμε αλλά και οι ρυθμίσεις που θα βελτιώσουμε, οπότε αγνοούμε τα υπόλοιπα και δεν τα πειράζουμε.

Αρχικά θα πρέπει να αποφασίσουμε τι θέλουμε να κάνουμε στη ROM μας για να τη φέρουμε στα μέτρα μας. Έχουμε τη δυνατότητα:
  • να προσθέσουμε και να αφαιρέσουμε εφαρμογές, ήχους και γραμματοσειρές
  • να κάνουμε root
  • να δημιουργήσουμε το δικό μας theme
  • να κάνουμε κάποιες διορθώσεις ή βελτιώσεις
  • να δώσουμε όνομα στη ROM μας
  • και πολλά ακόμη

Βήμα πρώτο: Προσθαφαίρεση εφαρμογών
Αφού αποφασίσουμε ποιες εφαρμογές θέλουμε να περιέχει η ROM μας και ποιες όχι, πηγαίνουμε στη διαδρομή "system/app" και τις αφαιρούμε διαγράφοντας τα αντίστοιχα .apk μαζί με τα ομώνυμα .odex τους, αν υπάρχουν.


Για να προσθέσουμε μια εφαρμογή στη ROM μας θα πρέπει να βάλουμε το .apk της μέσα στο φάκελο "app", σε αυτή την περίπτωση όμως υπάρχει μια μικρή διαφορά. Οι εφαρμογές που περιέχει ο φάκελος αυτός, λειτουργούν με ανώτερα δικαιώματα από ότι αυτές που εγκαθιστούμε μόνοι μας με την κλασική μέθοδο. Πρέπει λοιπόν να αλλάξουμε τα δικαιώματα των εφαρμογών αυτών με τα σωστά. Αυτό γίνεται άμεσα με ένα τερματικό ή cmd (ανάλογα το λειτουργικό που χρησιμοποιούμε) μπαίνοντας στο φάκελο "app" και δίνοντας την εντολή "chmod 644 xxxxxx.apk".

Μπορούμε όμως να τα αλλάξουμε και αφού εγκαταστήσουμε τη ROM στη συσκευή μας. Μόλις ελέγξουμε ποιες εφαρμογές δε λειτουργούν, ανοίγουμε έναν file explorer όπως τον ES, πηγαίνουμε στη διαδρομή "system/app" της συσκευής μας, βρίσκουμε την εφαρμογή που θέλουμε και πατάμε παρατεταμένα πάνω στο εικονίδιό της, επιλέγουμε "Ιδιότητες", "Αλλαγή" και ρυθμίζουμε τις επιλογές μας όπως φαίνονται στην εικόνα παρακάτω. Μετά από μία επανεκκίνηση ξαναδοκιμάζουμε και αν ακόμα δε λειτουργούν θα πρέπει να τις αφαιρέσουμε.


Φυσικά θα αναρωτιέστε ποιες εφαρμογές μπορούμε να διαγράψουμε από τη ROM μας, χωρίς να έχουμε πρόβλημα. Παρακάτω σας παρουσιάζουμε μια λίστα με αυτές που έχουμε αφαιρέσει κατά καιρούς χωρίς να έχει συμβεί κάτι απρόοπτο (πάντα με επιφύλαξη).
Βrowser.apk
BrowserGoogle.apk
Books.apk
Calculator.apk
CarHomeGoogle.apk
Currents.apk
DCSStock.apk
DebugTool.apk
DMS.apk
DockMode.apk
DSPManager.apk
EmailGoogle.apk
EReader.apk
Flickr.apk
FriendStream.apk
GenieWidget.apk
GoogleEars.apk
GoogleEarth.apk
GoogleVoice.apk
GoogleQuickSearchBox.apk
HtcCarPanel.apk
HtcConnectedMedia.apk
HtcDirect.apk
HtcFacebook.apk
HtcFMRadio.apk
HtcGreader.apk
HtcHubSyncProvider.apk
HtcLivewallpaperStreak.apk
HtcMusic.apk
HtcMusicEnhancer.apk
HtcMusicMarkedItems.apk
HtcRecommends.apk
HtcRingtoneTrimmer.apk
HtcSoundRecorder.apk
HtcStreamPlayer.apk
HtcTwitter.apk
HTMLViewer.apk
HoloSpiralWallpaper.apk
JETCET_PRINT.apk
JETCET_PRINT_Resources.apk
LiveWallpapers.apk
LiveWallpapersPicker.apk
LMW.apk
Magazines.apk
MagicSmokeWallpapers.apk
Mail.apk
Mode10Wallpapers.apk
MyHTC.apk
NoiseField.apk
PhaseBeam.apk
Picasapryramid.apk
PolarisOffice.apk
QuickLookup.apk
SetupWizrd.apk
SoundRecorder.apk
SprintZoneNC.apk
Street.apk
TrimIt.apk
Velvet.apk
VideoEditorGoogle.apk
Videos.apk
VisualizationWallpapers.apk
VoiceDialer.apk
VpnServices.apk
Weather.apk
WeatherAgentService.apk
WeatherProvider.apk
WeatherSyncProvider.apk
WorldClock.apk
YouTube.apk
Συμβουλή: Για κάθε .apk που διαγράφετε, αφαιρέστε επίσης και το ανάλογο .odex αρχείο, αν υπάρχει, καθώς είναι πλέον άχρηστο.

Βήμα δεύτερο: Προσθαφαίρεση λοιπών αρχείων
Με τον ίδιο τρόπο αφαιρούμε και προσθέτουμε εικόνες, ήχους και άλλα αρχεία χωρίς την ιδιαιτερότητα των δικαιωμάτων. Στο φάκελο "media" υπάρχουν όλα όσα αφορούν τα πολυμέσα, έτσι λοιπόν:
  • στη διαδρομή "system/media/audio" θα βρείτε τα αρχεία ήχου χωρισμένα σε ήχους ρολογιού (alarms), ειδοποιήσεων (notifications), κλήσεων (ringtones) και συστήματος (ui),
  • στη διαδρομή "system/media/video" θα βρείτε μερικά βίντεο τα οποία δε χρησιμεύουν σε τίποτα ιδιαίτερο και μπορούν να διαγραφούν όλα,
  • ενώ οι γραμματοσειρές βρίσκονται στο φάκελο "fonts" και το bootanimation στο φάκελο "media" αλλά για αυτά θα μιλήσουμε σε επόμενο άρθρο με θέμα το Theming.



Συμβουλή: Μην ξεχάσετε να αφήσετε τουλάχιστον έναν ήχο σε κάθε κατηγορία για την ομαλή λειτουργία του συστήματος.

Στο επόμενο μέρος
Είδαμε λοιπόν πόσο εύκολο είναι να προσθέτουμε και να αφαιρούμε αρχεία και εφαρμογές στη ROM μας, είδαμε επίσης και την ιδιαιτερότητα με τα δικαιώματα (permissions) των εφαρμογών που βάζουμε στο system. Αφού τελειώσαμε με τις προσθήκες λοιπόν, στο επόμενο μέρος θα δούμε πώς μπορούμε να φτιάξουμε τα δικά μας εικονίδια και γενικότερα να δημιουργήσουμε το προσωπικό μας theme για τη ROM.

[Ανανέωση] Αποφασίσαμε ότι είναι προτιμότερο να τελειώσουμε με το εσωτερικό του συστήματος και μετά να πάμε στον καλλωπισμό, οπότε στο επόμενο μέρος θα δούμε το εξίσου σημαντικό κεφάλαιο με θέμα τις βελτιώσεις.

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


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