Όλα όσα πρέπει να γνωρίζετε για το Project Mainline του Android

Το Project Mainline είναι η μεγαλύτερη αλλαγή στο Android από το Project Treble. Δείτε τι σημαίνει και τι κάνουν όλες οι ενότητες, Δείτε το!

Μια από τις μεγαλύτερες αλλαγές στο Android τα τελευταία χρόνια που πέταξε κάτω από το ραντάρ, μιλώντας σχετικά με τη σημασία του, ήταν η εισαγωγή του Project Mainline στο Android 10. Η Google επιβάλλει τη συμπερίληψη συγκεκριμένων λειτουργικών μονάδων Mainline σε όλες τις εκδόσεις Android, με Android 11 μπαίνοντας με α συνδυασμένο υποχρεωτικό σύνολο 25 βασικών ενοτήτων. Ακολουθεί μια εξήγηση για το τι είναι το Project Mainline και τι στοχεύει να λύσει, μαζί με μια λίστα με όλες τις λειτουργικές μονάδες Project Mainline του Android.

Τι είναι το Project Mainline;

Για να κατανοήσουμε σωστά το Project Mainline, θα πρέπει να κάνουμε μια μικρή αναδίπλωση. Αν γυρίσετε μερικά χρόνια πίσω, πολλές συζητήσεις γύρω από τις ενημερώσεις Android επικεντρώθηκαν στο πρόβλημα κατακερματισμού. Ο κατακερματισμός ήταν μια από τις μεγαλύτερες προκλήσεις που έπρεπε να λύσει η Google στο Android στην εποχή του Ice Cream Sandwich - Lollipop. Παρόλο που το Android ως πλατφόρμα λάμβανε τακτικές ενημερώσεις σε ένα ευρέως προβλέψιμο μοτίβο, αυτές οι ενημερώσεις χρειάζονταν πολύ χρόνο για να φτάσουν στα χέρια των τελικών καταναλωτών, αν όχι καθόλου. Έτσι, ενώ η Google διόρθωνε κρίσιμα σφάλματα και ζητήματα ασφάλειας σε επίπεδο πλατφόρμας, η πραγματική ανάπτυξη αυτών των αλλαγών άφηνε πολλά να είναι επιθυμητή. Υπήρχαν/υπάρχουν πολλοί μεσάζοντες (προμηθευτής SoC, OEM, μεταφορείς, κ.λπ.) και πολλά κινούμενα μέρη που εμπλέκονται στην παροχή ενημερώσεων σε το τηλέφωνό σας και το πρόβλημα κατακερματισμού δεν φαινόταν ότι θα λυνόταν από μόνο του χωρίς να απαιτούνται σκληρά χτυπήματα παρεμβάσεις.

Μία από τις σημαντικότερες προσπάθειες για την αντιμετώπιση αυτού του προβλήματος έγινε με τη μορφή Project Treble παράλληλα με το Android 8.0 Oreo, το οποίο περιελάμβανε μια σημαντική ανακατασκευή του Android, διαχωρίζοντας τα στοιχεία πλαισίου του Android OS από τα HAL του προμηθευτή και τον πυρήνα Linux. Το Project Treble, στην ουσία, άρθρωσε το Android διαχωρίζοντας το πλαίσιο του λειτουργικού συστήματος από το λογισμικό χαμηλότερου επιπέδου για τη συγκεκριμένη συσκευή. Με αυτόν τον τρόπο, οι κατασκευαστές συσκευών (OEM) δεν χρειάζεται να περιμένουν τους κατασκευαστές πυριτίου (προμηθευτής SoC) να ενημερώσουν τον κώδικα υλοποίησης του προμηθευτή τους και οι OEM θα μπορούσαν να ενημερώσουν το πλαίσιο του λειτουργικού συστήματος Android ανεξάρτητα. Το τελικό αποτέλεσμα είναι η ταχύτερη υιοθέτηση νεότερων εκδόσεων Android από τον OEM, καθώς δεν χρειάζεται πλέον περιμένετε να τελειώσει πρώτα ο μεσάζων (πωλητής SoC) πριν αρχίσουν να το κάνουν δικο τους.

Ενώ η κατάσταση ενημέρωσης Android δεν βελτιώθηκε δραματικά αμέσως με το Project Treble, επέτρεψε σε μεγάλο βαθμό ευρύτερο OEM συμμετοχή σε Android 10 και Android 11 beta καθώς και διευκολύνοντας τους OEM να ενημερώνουν περισσότερες από τις συσκευές τους πιο γρήγορα χρονοδιάγραμμα. Επιπλέον, ολόκληρη η ιδέα του GSI (Generic System Image) είχε σημαντικό αντίκτυπο στην ανάπτυξη aftermarket στα φόρουμ μας.

Ο προγραμματιστής εκκινεί το Android 11 σε 22 παλαιότερες συσκευές με Project Treble GSI

Το Project Mainline επεκτείνει τις προσπάθειες του Project Treble. Ενώ η Treble μείωσε την εξάρτηση των OEM από τους προμηθευτές SoC για κάθε ενημέρωση λειτουργικού συστήματος, η Mainline μειώνει την εξάρτηση της Google από τους OEM για την παροχή ενημερώσεων ασφαλείας σε βασικά στοιχεία του λειτουργικού συστήματος. Το Project Mainline επεκτείνει τη φιλοσοφία του Treble σε πιο κρίσιμα μέρη του πλαισίου Android, αφαιρώντας τους OEM ως εξαρτημένους μεσάζοντες από αυτήν την εξίσωση. Ο σκοπός του Project Mainline είναι η Google να καταργήσει τον έλεγχο των στοιχείων πλαισίου και των εφαρμογών συστήματος που είναι ζωτικής σημασίας για την ασφάλεια και τη διατήρηση της αναπτυξιακής συνέπειας μακριά από τους OEM. Το Project Mainline δικαίως αναφέρεται ως ο μεγαλύτερη αλλαγή στο Android από το Project Treble.

Για το Project Mainline, η Google χρησιμοποιεί λειτουργικές μονάδες Mainline που παρέχονται μέσω του πλαισίου Υπηρεσιών Google Play και του Google Play Store. Κάθε λειτουργική μονάδα Mainline παραδίδεται είτε ως αρχείο APK, είτε ως αρχείο APEX ή ως APK-in-APEX. Όταν μια λειτουργική μονάδα Mainline ενημερώνεται, ο χρήστης βλέπει μια ειδοποίηση "Google Play System Update" (GPSU) στη συσκευή του. Ουσιαστικά, για την παροχή ενημερώσεων σε κρίσιμα στοιχεία, η Google έχει παρακάμψει την ανάγκη να περιμένει ένας OEM να κυκλοφορήσει μια ενημέρωση, επιλέγοντας να κάνει η ίδια την εργασία.

Οπως και αναφέρει η Google στον ιστότοπο Android:

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

Το Android 10 ή νεότερη έκδοση μετατρέπει επιλεγμένα στοιχεία συστήματος σε λειτουργικές μονάδες, ορισμένες από τις οποίες χρησιμοποιούν τη μορφή κοντέινερ APEX (που εισήχθη στο Android 10) και ορισμένα από τα οποία χρησιμοποιούν τη μορφή APK. Η αρθρωτή αρχιτεκτονική επιτρέπει στα στοιχεία του συστήματος να ενημερώνονται με σημαντικές διορθώσεις σφαλμάτων και άλλα βελτιώσεις όπως απαιτείται, χωρίς να επηρεάζονται υλοποιήσεις προμηθευτών χαμηλότερου επιπέδου ή εφαρμογές υψηλότερου επιπέδου και Υπηρεσίες.

Οπως και Ars Technica αναφέρει:

Το Project Mainline, γνωστό και ως "Google Play System Updates", εισήχθη στο Android 10 ως μια σημαντική προσπάθεια να γίνουν τα βασικά στοιχεία συστήματος του Android πιο αρθρωτά και ενημερωμένα. Η Mainline παρουσίασε έναν νέο τύπο αρχείου "APEX" ειδικά για στοιχεία συστήματος, με στόχο την αποστολή του βασικού κώδικα Android μέσω του Play Store με την ίδια ευκολία που στέλνετε μια ενημέρωση εφαρμογής. Προηγουμένως, το μόνο μπλοκ κώδικα με δυνατότητα αποστολής του Android ήταν το APK, ένας τύπος αρχείου που αρχικά σχεδιάστηκε για εφαρμογές τρίτων. Αυτό συνοδευόταν από κάθε είδους περιορισμούς ασφαλείας και μπορούσε να ξεκινήσει μόνο αργά στη διαδικασία εκκίνησης, έτσι το APEX δημιουργήθηκε με πιο ισχυρά στοιχεία συστήματος στο μυαλό. Τα APEX μπορούν να δημιουργηθούν μόνο από την Google ή τον κατασκευαστή της συσκευής σας, ώστε να μπορούν να είναι αισθητά πιο ισχυρά και να φιλοξενούν κρίσιμα στοιχεία εκκίνησης, όπως ο χρόνος εκτέλεσης της εφαρμογής.

Το Mainline δεν είναι απλώς μια τεχνική λύση, αλλά αφορά επίσης τη δημιουργία περισσότερων τμημάτων του Android σε κεντρική διανομή από Google, η οποία περιλαμβάνει διαπραγματεύσεις με κατασκευαστές συσκευών και να τους κάνει να συμφωνήσουν όλοι να αποστέλλουν το ίδιο μπλοκ κώδικας. Οι μονάδες κύριας γραμμής γίνονται τελικά υποχρεωτικές για αποστολή, επομένως η Mainline είναι στην πραγματικότητα μια μεγάλη συνεργασία με κατασκευαστές συσκευών για να διασφαλιστεί ότι μια ενιαία μονάδα σε όλο το οικοσύστημα καλύπτει τις ανάγκες όλων. Δεν είναι κάθε λειτουργική μονάδα Mainline μια εξαιρετικά ισχυρή λειτουργική μονάδα APEX—μερικά είναι απλώς APK που αποτελούν πλέον κώδικα Android που διανέμεται από την Google.

Project Mainline — Ενότητες

Με το Android 10, η Google επέβαλε τη συμπερίληψη 13 συγκεκριμένων λειτουργικών μονάδων Mainline. Με το Android 11, ο συνολικός αριθμός των υποχρεωτικών λειτουργικών μονάδων είναι 25. Ακολουθεί η πλήρης λίστα, μαζί με ορισμένες βασικές λεπτομέρειες:

Όνομα ενότητας

Ονομα πακέτου

Τύπος

Η συσκευή αναβαθμίστηκε ή κυκλοφόρησε με το Android 11

Συσκευή που κυκλοφόρησε με Android 10

Αναβαθμισμένη συσκευή σε Android 10

adbd

com.google.android.adbd

ΚΟΡΥΦΗ

Πρέπει

Ανυποστήρικτος

Ανυποστήρικτος

Android Neural Network API Runtime

com.google.android.neuralnetworks

ΚΟΡΥΦΗ

Πρέπει

Ανυποστήρικτος

Ανυποστήρικτος

Είσοδος Captive Portal

com.google.android.captiveportallogin

APK

Πρέπει

Συνιστάται ανεπιφύλακτα

Προαιρετικός

Εκπομπή κυψέλης

com.google.android.cellbroadcast

ΚΟΡΥΦΗ

Πρέπει

Ανυποστήρικτος

Ανυποστήρικτος

Conscrypt

com.google.android.conscrypt

ΚΟΡΥΦΗ

Πρέπει

Συνιστάται ανεπιφύλακτα

Προαιρετικός

Αναλυτής DNS

com.google.android.resolv

ΚΟΡΥΦΗ

Πρέπει

Συνιστάται ανεπιφύλακτα

Προαιρετικός

Διεπαφή χρήστη εγγράφων

com.google.android.documentsui

APK

Πρέπει

Πρέπει

Προαιρετικός

ExtServices - APK

com.google.android.ext.services

APK

Πρέπει

Πρέπει

Πρέπει

ExtServices - ΚΟΡΥΦΗ

com.google.android.extservices

ΚΟΡΥΦΗ

Πρέπει

Ανυποστήρικτος

Ανυποστήρικτος

Βιβλιοθήκη IPsec/IKEv2

com.google.android.ipsec

ΚΟΡΥΦΗ

Πρέπει

Ανυποστήρικτος

Ανυποστήρικτος

Κωδικοποιητές πολυμέσων

com.google.android.media.swcodec

ΚΟΡΥΦΗ

Πρέπει

Πρέπει

Προαιρετικός

Στοιχεία πλαισίου πολυμέσων

com.google.android.media

ΚΟΡΥΦΗ

Πρέπει

Πρέπει

Προαιρετικός

Πάροχος πολυμέσων

com.google.android.mediaprovider

ΚΟΡΥΦΗ

Πρέπει

Ανυποστήρικτος

Ανυποστήρικτος

Μεταδεδομένα ενότητας

com.google.android.modulemetadata

APK

Πρέπει

Πρέπει

Πρέπει

Στοιχεία στοίβας δικτύου

com.google.android.networkstack

APK

Πρέπει

Συνιστάται ανεπιφύλακτα

Προαιρετικός

Διαμόρφωση δικαιώματος στοίβας δικτύου

com.google.android.networkstack.permissionconfig

APK

Πρέπει

Συνιστάται ανεπιφύλακτα

Προαιρετικός

Ελεγκτής αδειών - APK

com.google.android.permissioncontroller

APK

Πρέπει

Πρέπει

Πρέπει

Ελεγκτής αδειών - ΚΟΡΥΦΗ

com.google.android.permission

ΚΟΡΥΦΗ

Πρέπει

Ανυποστήρικτος

Ανυποστήρικτος

Επεκτάσεις SDK

com.google.android.sdkext

ΚΟΡΥΦΗ

Πρέπει

Ανυποστήρικτος

Ανυποστήρικτος

Statsd

com.google.android.os.statsd

ΚΟΡΥΦΗ

Πρέπει

Ανυποστήρικτος

Ανυποστήρικτος

Πακέτο έκδοσης τρένου Telemetry

com.google.mainline.telemetry

APK

Πρέπει

Ανυποστήρικτος

Ανυποστήρικτος

Σύνδεση

com.google.android.tethering

ΚΟΡΥΦΗ

Πρέπει

Ανυποστήρικτος

Ανυποστήρικτος

Δεδομένα ζώνης ώρας

com.google.android.tzdata

ΚΟΡΥΦΗ

Δεν πρέπει να

Πρέπει

Προαιρετικός

Δεδομένα ζώνης ώρας 2

com.google.android.tzdata2

ΚΟΡΥΦΗ

Πρέπει

Ανυποστήρικτος

Ανυποστήρικτος

Wi-Fi³

com.google.android.wifi

ΚΟΡΥΦΗ

Πρέπει

Ανυποστήρικτος

Ανυποστήρικτος

Για να παρέχεται κάποιο πλαίσιο στις παραπάνω στήλες, η στήλη με τίτλο "Συσκευή αναβαθμίστηκε ή κυκλοφόρησε με Android 11" περιλαμβάνει λεπτομέρειες σχετικά με το εάν η μονάδα πρέπει να υπάρχει (ή δεν πρέπει να υπάρχει παρούσα, σε περίπτωση δεδομένων Ζώνης ώρας λόγω της συμπερίληψης της εναλλακτικής της) σε όλες τις συσκευές που είτε έχουν αναβαθμιστεί σε Android 11 είτε κυκλοφορούν με Android 11 εκτός κουτί. Ομοίως, οι συσκευές που κυκλοφορούν με Android 10 απαιτείται να περιλαμβάνουν μερικές ενότητες, συνιστάται ανεπιφύλακτα να περιλαμβάνουν μερικές άλλες και δεν υποστηρίζονται από τις υπόλοιπες. Για συσκευές που έχουν αναβαθμιστεί σε Android 10 (σε αντίθεση με το Android), η λίστα των απαιτούμενων λειτουργικών μονάδων είναι μικρότερη.

Τι κάνει κάθε λειτουργική μονάδα Mainline;

Ακολουθεί μια σύντομη εξήγηση για καθεμία από τις λειτουργικές μονάδες Mainline:

Adbd

Η ενότητα adbd διαχειρίζεται τις συνεδρίες εντοπισμού σφαλμάτων adb και IDE γραμμής εντολών. Η διαμόρφωση του adbd επιτρέπει στην Google να προσφέρει βελτιώσεις απόδοσης και διορθώσεις σφαλμάτων πιο γρήγορα. Αυτό είναι κρίσιμο, καθώς ορισμένα σφάλματα στο παρελθόν σχετίζονταν με την εξάντληση της μπαταρίας και θα μπορούσαν να προκαλέσουν τις συσκευές να συνεχίσουν να χρησιμοποιούν 100% CPU μέχρι να πεθάνει το τηλέφωνο. Επομένως, η λήψη αυτών των επιδιορθώσεων είναι ζωτικής σημασίας για την Google, καθώς το adb χρησιμοποιείται ευρέως από προγραμματιστές εφαρμογών και OEM για δοκιμές.

Android Neural Networks API Runtime

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

CellBroadcast

Το Cell Broadcast αναφέρεται σε ειδοποιήσεις έκτακτης ανάγκης και μη (όπως ειδοποιήσεις AMBER). Αυτή η ενότητα ασχολείται με εργασίες γύρω από αυτές τις ειδοποιήσεις και με άλλες βοηθητικές λειτουργίες όπως η αποκωδικοποίηση SMS και ο γεωγραφικός περιορισμός για ασύρματες ειδοποιήσεις έκτακτης ανάγκης.

Conscrypt

Η ενότητα Conscrypt χειρίζεται την υλοποίηση TLS του Android και άλλες κρυπτογραφικές λειτουργίες, όπως γεννήτριες κλειδιών, cipers και αναλύσεις μηνυμάτων. Η αποστολή γίνεται ως λειτουργική μονάδα που επιτρέπει στην Google να επιταχύνει τις βελτιώσεις ασφαλείας, χωρίς να χρειάζεται να βασίζεται σε ενημερώσεις OTA.

Αναλυτής DNS

Όπως υποδηλώνει το όνομα, ο αναλυτής DNS επιλύει DNS, δηλαδή μετατρέπει διευθύνσεις URL αναγνώσιμες από τον άνθρωπο σε διευθύνσεις IP. Η λειτουργική μονάδα περιέχει τον κώδικα που υλοποιεί το πρόγραμμα επίλυσης στελέχους DNS και η αποστολή αυτού ως λειτουργικής μονάδας επιτρέπει στην Google να παρέχει καλύτερη προστασία των χρηστών από την παρακολούθηση DNS και τις επιθέσεις ενημέρωσης διαμόρφωσης.

Διεπαφή χρήστη εγγράφων

Το Documents UI είναι η λειτουργική μονάδα που είναι υπεύθυνη για τον έλεγχο της πρόσβασης σε συγκεκριμένα αρχεία για στοιχεία που χειρίζονται τα δικαιώματα εγγράφων. Όπως αναφέρει η Google, η δημιουργία πρόσβασης και αδειών αποθήκευσης σε μια ενότητα αυξάνει το απόρρητο και την ασφάλεια για τους τελικούς χρήστες, ενώ η δυνατότητα επικάλυψης πόρων χρόνου εκτέλεσης (RRO) επιτρέπει στους OEM να θέσουν θέμα την εμπειρία (αναφερόμενος στην εφαρμογή Αρχεία) εάν χρειάζονται προς την. Ως λειτουργική μονάδα, όλες οι συσκευές Google-Android θα αποστέλλονται με την ίδια εμπειρία διεπαφής χρήστη Documents.

ExtServices

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

Βιβλιοθήκη IPsec/IKEv2

Αυτή η ενότητα βιβλιοθήκης ασχολείται με νέες και υπάρχουσες δυνατότητες γύρω από το Διασυνεργαζόμενο Ασύρματο LAN (IWLAN) και VPN, όπως η διαπραγμάτευση παραμέτρων ασφαλείας όπως κλειδιά, αλγόριθμοι και σήραγγα διαμορφώσεις. Η ιδέα με τη διαμόρφωση αυτών των λειτουργιών είναι η προώθηση της συνέπειας του οικοσυστήματος και η παροχή ενός τρόπου παροχής γρήγορων επιδιορθώσεων για ζητήματα ασφάλειας και διαλειτουργικότητας.

Αυτές είναι τρεις διχαλώδεις μονάδες, αλλά έχουν λειτουργίες που εξαρτώνται η μία από την άλλη. Αυτές οι μονάδες πολυμέσων χειρίζονται τύπους και κώδικες μέσων, αλληλεπιδρούν με το ExoPlayer, εκθέτουν στοιχεία ελέγχου μεταφοράς και πληροφορίες αναπαραγωγής στο πλαίσιο, βελτιστοποιούν τα ευρετηριασμένα μεταδεδομένα κ.λπ. Θυμάμαι Stagefright, το exploit που άλλαξε το Android και έφερε την ίδια την έννοια των μηνιαίων ενημερώσεων ασφαλείας στην πλατφόρμα; Αυτό το exploit βασίστηκε σε ευπάθειες στη βιβλιοθήκη αναπαραγωγής πολυμέσων. Έτσι, μια σπονδυλοποίηση των στοιχείων πολυμέσων επιτρέπει στην Google να αντιδρά γρήγορα και ευρέως σε περίπτωση που εντοπιστούν σφάλματα ασφαλείας σε αυτό το συχνά στοχευμένο στοιχείο.

Η λειτουργία αυτής της ενότητας είναι αμέσως ξεκάθαρη από το όνομά της, αν και ο σκοπός της δεν είναι. Η ενότητα Module Metadata περιέχει...μεταδεδομένα σχετικά με τη λίστα των λειτουργικών μονάδων στη συσκευή. Και αυτό είναι περίπου.

Στοιχεία στοίβας δικτύου, Διαμόρφωση αδειών στοίβας δικτύου, Σύνδεση αποκλειστικής πύλης

Η ενότητα Network Stack Components παρέχει κοινές υπηρεσίες IP, παρακολούθηση συνδεσιμότητας δικτύου, εντοπισμό πύλης δέσμευσης σύνδεσης. Η λειτουργική μονάδα Permission Configuration ορίζει την άδεια που επιτρέπει σε άλλες λειτουργικές μονάδες να εκτελούν εργασίες που σχετίζονται με το δίκτυο. Η ενότητα Σύνδεση Captive Portal ασχολείται με Captive Portals — ιστοσελίδες που εμφανίζονται όταν συνδεδεμένο σε ορισμένα δημόσια δίκτυα Wi-Fi, όπου ο χρήστης καλείται να εισαγάγει στοιχεία για να αποκτήσει Internet πρόσβαση.

Ελεγκτής αδειών

Αυτή η ενότητα παρέχει ενημερώσιμες πολιτικές απορρήτου και στοιχεία διεπαφής χρήστη σχετικά με τη χορήγηση και τη διαχείριση αδειών. Εάν αυτό ακούγεται γνωστό σε αυτό που κάνει το Package Installer, αυτό οφείλεται στο γεγονός ότι είναι. Λειτουργίες όπως η χορήγηση αδειών χρόνου εκτέλεσης, η διαχείριση και η παρακολούθηση χρήσης αποτελούσαν μέρος της εφαρμογής Package Installer μέχρι το Android 9. Στο Android 10, η εφαρμογή Package Installer χωρίζεται σε ενότητες για να επιτρέψει την ενημέρωση της λογικής των δικαιωμάτων. Η μονάδα ελέγχου άδειας παραδίδεται ως αρχείο APK και στο Android 11, η λειτουργική μονάδα μπορεί να ανακαλέσει αυτόματα τις άδειες χρόνου εκτέλεσης για εφαρμογές που δεν έχουν χρησιμοποιηθεί για μεγάλο χρονικό διάστημα.

Επεκτάσεις SDK

Αυτή η ενότητα είναι λίγο δύσκολο να κατανοηθεί και κατά συνέπεια να εξηγηθεί. Σε κάθε έκδοση Android εκχωρείται ένα επίπεδο SDK (συνήθως +1 από τον προκάτοχό του). Όταν μια εφαρμογή στοχεύει ένα συγκεκριμένο SDK, θεωρείται ότι ο προγραμματιστής έχει λάβει υπόψη τις αλλαγές συμπεριφοράς και API της πλατφόρμας που έφερε μαζί της η έκδοση Android.

Η λειτουργική μονάδα επεκτάσεων SDK αποφασίζει το επίπεδο "επέκταση SDK" της συσκευής και εκθέτει τα API για εφαρμογές για να υποβάλουν ερώτημα στο επίπεδο SDK επέκτασης. Αυτά είναι όλα όσα αναφέρει η επίσημη τεκμηρίωση. ArsTechnica, όμως, αναφέρει ότι πρόκειται πιθανώς για ένα δευτερεύον επίπεδο API που θα αποσταλεί μέσω του Play Store.

Statsd, Πακέτο έκδοσης τρένου Telemetry

Η Statsd είναι υπεύθυνη για τη συλλογή μετρήσεων συσκευών. Το Πακέτο έκδοσης Train Telemetry, από την άλλη πλευρά, δεν περιέχει ενεργό κωδικό ή καμία δική του λειτουργικότητα. Περιέχει απλώς έναν αριθμό έκδοσης για το "Telemetry Train", το οποίο η Google λέει ότι είναι ένα σύνολο ενοτήτων που σχετίζονται με μετρήσεις. Με βάση τον αριθμό έκδοσης, το Google Play εμφανίζει την έκδοση ενημερωμένης έκδοσης κώδικα ασφαλείας στους τελικούς χρήστες και υπολογίζει εάν υπάρχουν διαθέσιμες ενημερώσεις για λειτουργικές μονάδες που σχετίζονται με μετρήσεις.

Σύνδεση

Η μονάδα Tethering μοιράζεται τη σύνδεση της συσκευής στο Διαδίκτυο με άλλες συνδεδεμένες συσκευές-πελάτες μέσω Wi-Fi, USB, Bluetooth ή Ethernet. Η ενότητα περιλαμβάνει τα στοιχεία πρόσδεσης και τις εξαρτήσεις τους. Με τη χρήση αυτής της ενότητας Tethering, οι OEM μπορούν να βασίζονται σε μια ενιαία, τυπική υλοποίηση αναφοράς και να προσφέρουν μια συνεπή εμπειρία σε όλες τις συσκευές.

Δεδομένα ζώνης ώρας

Η μονάδα Time Zone Data ενημερώνει τη θερινή ώρα (DST) και τις ζώνες ώρας σε συσκευές Android, τυποποιώντας τόσο τα δεδομένα (τα οποία μπορούν και αλλάζει αρκετά συχνά λόγω θρησκευτικών, πολιτικών και γεωπολιτικών λόγων) και του μηχανισμού ενημέρωσης σε όλο το οικοσύστημα. Το Android 8.1 και το Android 9 χρησιμοποίησαν έναν μηχανισμό ενημέρωσης δεδομένων ζώνης ώρας που βασίζεται σε APK και το Android 10 τον αντικαθιστά με έναν μηχανισμό ενημέρωσης μονάδας που βασίζεται σε APEX. Η Google δηλώνει ότι το AOSP συνεχίζει να περιλαμβάνει τον κωδικό πλατφόρμας που είναι απαραίτητος για ενημερώσεις που βασίζονται σε APK, έτσι Οι συσκευές που αναβαθμίζονται σε Android 10 μπορούν ακόμα να λαμβάνουν ενημερώσεις δεδομένων ζώνης ώρας που παρέχονται από συνεργάτη μέσω του APK. Ωστόσο, η Google προειδοποιεί ότι οι ενημερώσεις που βασίζονται σε APK αντικαθιστούν μια ενημέρωση που βασίζεται σε APEX.

Wi-Fi

Αυτή είναι η μονάδα για τη λειτουργία Wi-Fi. Οι τελικοί χρήστες μπορούν πλέον να έχουν μια συνεπή εμπειρία Wi-Fi σε όλες τις συσκευές Android, καθώς και διορθώσεις σε ζητήματα διαλειτουργικότητας μέσω ενημερώσεων μονάδων, εφαρμογής Οι προγραμματιστές μπορούν να λάβουν μειωμένο κατακερματισμό πλατφόρμας και οι OEM μπορούν να εκπληρώσουν τις απαιτήσεις των παρόχων, ενώ παράλληλα μειώνουν το κόστος για μεμονωμένα άτομα προσαρμογές.


Ας ελπίσουμε ότι αυτό το άρθρο υπογραμμίζει πόσο σημαντικό είναι το Project Mainline για το οικοσύστημα Android της Google.