Πώς να δημιουργήσετε ένα προσαρμοσμένο ROM από το Android Open Source Project

πηγή γνωστό ως AOSP (Android Open Source Project) .



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

Εάν αναπτύσσετε ένα τηλέφωνο με επωνυμία Google (Pixel, Nexus κ.λπ.), μπορείτε να βρείτε τα δυαδικά αρχεία του υλικού απευθείας από την Google και αυτός ο οδηγός θα σας καθοδηγήσει στη λήψη και τη δημιουργία τους στο ROM. Ωστόσο, εάν αναπτύσσετε ROM για ένα τηλέφωνο με επωνυμία (Sony, Samsung, κ.λπ.)… καλά, ευλογείστε την καρδιά σας, επειδή είστε έτοιμοι για βόλτα.



Μερικοί Οι κατασκευαστές έχουν τα δικά τους έργα ανοιχτού κώδικα ή κυκλοφορούν εργαλεία ανάπτυξης για τους υποψήφιους προγραμματιστές, ενώ άλλοι κατασκευαστές διατηρούν στενά τους ιδιοκτησιακούς τους κωδικούς. Ακολουθεί μια σύντομη λίστα έργων ανοιχτού κώδικα από τους πιο δημοφιλείς κατασκευαστές:



Κέντρο έκδοσης ανοικτού κώδικα Samsung
Sony Developer World
Υποστήριξη Lenovo
Κέντρο έκδοσης ανοιχτού κώδικα Huawei
Προγραμματιστές Motorola



Με αυτόν τον τρόπο, ας συνεχίσουμε με την υπόθεση ότι χτίζουμε ένα ROM για την πιο βασική εμπειρία, βανίλια Android, για μια συσκευή Google Pixel. Με αυτές τις γνώσεις, θα είστε σε θέση να διακλαδώσετε μόνοι σας και να αρχίσετε να αναπτύσσετε προσαρμοσμένες εκδόσεις συγκεκριμένων ROM του κατασκευαστή.

Απαιτήσεις για αυτόν τον οδηγό:

  • Έργο Android Open Source
  • Τηλέφωνο Pixel XL ή έναν εξομοιωτή Android για Linux
  • Λειτουργικό σύστημα Linux 64-bit - Ubuntu ή Linux νομισματοκοπείο είναι οι πιο φιλικές προς τους αρχάριους διανομείς, ενώ BBQLinux αναπτύχθηκε ειδικά με γνώμονα τους προγραμματιστές Android.
  • Πύθων
  • Ένας μεγάλος υπολογιστής (η σύνταξη κώδικα απαιτεί πολλή μνήμη και χώρο!)

Ρύθμιση του περιβάλλοντος κατασκευής σας

Ας ξεκινήσουμε ρυθμίζοντας τον εξομοιωτή Android στον υπολογιστή σας Linux. Είτε διαθέτετε συσκευή Google Pixel XL είτε όχι, είναι πάντα ασφαλέστερο να δοκιμάσετε το νέο σας ROM σε έναν εξομοιωτή Android πριν αναβοσβήνει στη συσκευή σας. Το προσωπικό μου αγαπημένο είναι το Genymotion, οπότε θα σας καθοδηγήσω στην εγκατάσταση αυτού του συγκεκριμένου εξομοιωτή. Ωστόσο, μπορείτε επίσης να δείτε αυτόν τον οδηγό ' Οι καλύτεροι εξομοιωτές Android ', Καθώς τα περισσότερα έχουν επίσης συμβατότητα Linux.

Προχωρήστε στο Ιστοσελίδα Genymotion , εγγραφή λογαριασμού, επαλήθευση μέσω email και λήψη του εκτελέσιμου στην επιφάνεια εργασίας Linux.



Τώρα ανοίξτε ένα τερματικό Linux και πληκτρολογήστε:

Chmod + x genymotion-xxxxx.bin (αντικαταστήστε το xxxx με τον αριθμό έκδοσης στο όνομα αρχείου)
./genymotion-xxxxxx.bin

Τύπος ΚΑΙ για να δημιουργήσετε τον κατάλογο Genymotion. Τώρα πληκτρολογήστε το τερματικό:

cd genymotion && ./genymotion

Τώρα θα σας ζητήσει να ξεκινήσετε τη διαδικασία εγκατάστασης, οπότε συνεχίστε να κάνετε κλικ στο Επόμενο μέχρι να φτάσετε στο παράθυρο Προσθήκη εικονικών συσκευών. Επιλέξτε 'Pixel XL' στην επιλογή Μοντέλο συσκευής και μετά ολοκληρώστε την εγκατάσταση. Μπορείτε να δοκιμάσετε την εικονική συσκευή εάν θέλετε, βασικά θα ήταν σαν να έχετε τηλέφωνο Pixel XL στην επιφάνεια εργασίας σας.

Ας δημιουργήσουμε τώρα την Python:

$ apt-get install python

Τώρα πρέπει να ρυθμίσουμε το Java Development Kit στον υπολογιστή σας Linux. Ανοίξτε το τερματικό Linux και πληκτρολογήστε τις ακόλουθες εντολές:

$ sudo apt-get ενημέρωση
$ sudo apt-get install openjdk-8-jdk

Τώρα θα πρέπει να διαμορφώσετε το σύστημα Linux ώστε να επιτρέπεται η πρόσβαση στη συσκευή USB. Εκτελέστε τον ακόλουθο κώδικα στο τερματικό Linux:

Αυτό θα κατεβάσει το απαιτούμενο αρχείο 51-android.txt που επιτρέπει την πρόσβαση της προαναφερθείσας συσκευής USB. Ανοίξτε το αρχείο .txt και τροποποιήστε το για να συμπεριλάβετε το όνομα χρήστη Linux και, στη συνέχεια, τοποθετήστε το αρχείο .txt στην ακόλουθη θέση: (όπως το χρήστης root ). Τώρα συνδέστε τη συσκευή σας στον υπολογιστή σας μέσω USB για να τεθούν αυτόματα σε ισχύ οι νέοι κανόνες.

Λήψη της πηγής Android

Το AOSP φιλοξενείται στο Git, οπότε θα χρησιμοποιήσουμε ένα εργαλείο που ονομάζεται Repo για να επικοινωνήσουμε με το Git.

Πρώτα πρέπει να ρυθμίσουμε ένα φάκελο / bin στον αρχικό σας κατάλογο. Πληκτρολογήστε τις ακόλουθες εντολές στο τερματικό Linux:

$ mkdir ~ / bin
$ PATH = ~ / bin: $ PATH

Τώρα θα κατεβάσουμε το εργαλείο Repo, οπότε πληκτρολογήστε στο τερματικό Linux:

$ curl https://storage.googleapis.com/git-repo-downloads/repo> ~ / bin / repo
$ chmod a + x ~ / bin / repo

Μετά την εγκατάσταση του Repo, πρέπει τώρα να δημιουργήσουμε έναν κενό κατάλογο για να διατηρήσουμε τα αρχεία εργασίας σας. Γι 'αυτό πληκτρολογήστε αυτό στο τερματικό Linux:

$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY

Τώρα θα διαμορφώσουμε το Git με το όνομα και τη διεύθυνση email σας - χρησιμοποιήστε μια διεύθυνση Gmail που ελέγχετε τακτικά , διαφορετικά δεν θα μπορείτε να χρησιμοποιήσετε το εργαλείο ελέγχου κώδικα Gerrit.

$ git config –global user.name «Το όνομά σας»
$ git config –global user.email
you@gmail.com

Τώρα θα πούμε στον Repo να τραβήξει το τελευταίο κύριο μανιφέστο του AOSP από το Git:

$ repo init -u https://android.googlesource.com/platform/manifest

Εάν ολοκληρωθεί με επιτυχία, θα λάβετε ένα μήνυμα ότι το Repo έχει αρχικοποιηθεί στον κατάλογο εργασίας σας. Θα βρείτε επίσης ένα ' .repo ' στον κατάλογο του πελάτη. Τώρα θα κατεβάσουμε το δέντρο προέλευσης Android με:

Συγχρονισμός $ repo

Δημιουργία της πηγής Android

Αυτό είναι όπου τα δυαδικά αρχεία υλικού που αναφέρονται στην αρχή αυτού του οδηγού μπαίνουν στο παιχνίδι. Ας κατευθυνθούμε προς το Προγράμματα οδήγησης AOSP σελίδα και κατεβάστε τα δυαδικά αρχεία Pixel XL για Android 7.1.0 (NDE63P) Θέλετε να κατεβάσετε τόσο την εικόνα του προμηθευτή όσο και τα στοιχεία υλικού. Αυτά έρχονται ως συμπιεσμένα αρχεία, οπότε εξαγάγετε τα στην επιφάνεια εργασίας σας και εκτελέστε το σενάριο αυτόματης εξαγωγής από τον ριζικό φάκελο. Επιλέξτε να εγκαταστήσετε τα δυαδικά αρχεία στη ρίζα του WORKING_DIRECTORY που δημιουργήσαμε νωρίτερα.

Τώρα πληκτρολογήστε το τερματικό Linux:

$ make clobber
$ source build / envsetup.sh

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

$ lunch aosp_marlin-userdebug
$ setpaths
$ make –j4

Εκεί, έχουμε πλέον δημιουργήσει ένα Android ROM από την πηγή. Ας το δοκιμάσουμε λοιπόν στον εξομοιωτή, πληκτρολογώντας στο τερματικό:

εξομοιωτής $

Λοιπόν, παίξτε λίγο στον εξομοιωτή. Όπως μπορείτε να δείτε, μια καθαρά εμπειρία Android βανίλιας είναι αρκετά ελάχιστη και για αυτό οι κατασκευαστές προσαρμόζουν το AOSP στις ανάγκες τους. Αρα εσύ θα μπορούσε flash αυτό το ROM που μόλις δημιουργήσαμε στη συσκευή σας αν το θέλατε, αλλά χωρίς να προσθέσετε βελτιώσεις, μια καθαρά εμπειρία βανίλιας Android θα ήταν πράγματι ένα πολύ βαρετό πράγμα.

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

Μείνετε συντονισμένοι, καθώς το δεύτερο μέρος αυτού του οδηγού θα περάσει με την προσθήκη γραμματοσειρών, θεμάτων και κινούμενης εκκίνησης στο ROM σας!

5 λεπτά ανάγνωση