3 από τις καλύτερες λειτουργίες στο Android 11 δεν θα εμφανίζονται σε όλα τα smartphone και τα tablet. Αυτό συμβαίνει επειδή η Google δεν επιβάλλει αυτές τις δυνατότητες.
Κάθε χρόνο, η Google κυκλοφορεί μια νέα έκδοση του λειτουργικού συστήματος Android. Η Google κυκλοφόρησε την πρώτη προεπισκόπηση προγραμματιστή Android 11 τον Φεβρουάριο, ακολουθούμενη από τη δεύτερη, τρίτη και τέταρτη προεπισκόπηση προγραμματιστή τους τελευταίους μήνες. Νωρίτερα αυτό το μήνα, η Google αποκάλυψε το το πρώτο Android 11 Beta και μίλησε σε βάθος για τις καλύτερες δυνατότητες που μπορούν να απολαύσουν οι χρήστες και να εφαρμόσουν οι προγραμματιστές. Ωστόσο, τώρα μάθαμε ότι τρεις από τις κορυφαίες λειτουργίες του Android 11 δεν θα είναι διαθέσιμες σε κάθε συσκευή Android.
Για να κατανοήσουμε πώς αυτό είναι δυνατό, πρέπει να εξηγήσουμε εν συντομία πώς διανέμεται το λειτουργικό σύστημα Android από την Google στους κατασκευαστές συσκευών smartphone. Το Android είναι ένα λειτουργικό σύστημα ανοιχτού κώδικα άδεια σύμφωνα με το Apache 2.0, που σημαίνει ότι οποιοσδήποτε, από ανεξάρτητους προγραμματιστές έως μεγάλες εταιρείες, είναι ελεύθερος να τροποποιήσει και να διανείμει το λειτουργικό σύστημα στις δικές του συσκευές. Οι περισσότερες από τις νέες λειτουργίες του λειτουργικού συστήματος που παρουσίασε η Google για το Android 11 θα αποτελούν μέρος του Android Open Source Project (AOSP) αυτού του smartphone οι κατασκευαστές συσκευών βασίζουν το δικό τους λογισμικό, αλλά η άδεια Apache 2.0, όπως ανέφερα προηγουμένως, επιτρέπει σε οποιονδήποτε να τροποποιήσει το λογισμικό όπως βλέπει κατάλληλος. Προκειμένου να διατηρηθεί η συνέπεια στα API και στη συμπεριφορά της πλατφόρμας μεταξύ συσκευών Android, η Google ομαδοποιεί τη διανομή των Υπηρεσιών Google Mobile (η οποία περιλαμβάνει εφαρμογές και πλαίσια όπως το Google Play Store και οι Υπηρεσίες Google Play) με συμφωνίες άδειας χρήσης που επιβάλλουν ότι οι συσκευές συμμορφώνονται με τους κανόνες σύμφωνα με τους κανόνες της Google "
Πρόγραμμα συμβατότητας Android" (μεταξύ άλλων απαιτήσεων). Το Πρόγραμμα συμβατότητας Android αποτελείται από πολλαπλές αυτοματοποιημένες δοκιμαστικές σουίτες και ένα σύνολο κανόνων που απαριθμούνται στο Android Έγγραφο ορισμού συμβατότητας (CDD).Στο CDD, η Google παραθέτει χαρακτηριστικά λογισμικού και υλικού που οι κατασκευαστές συσκευών "ΠΡΕΠΕΙ" να εφαρμόζουν, μόνο "ΣΥΝΙΣΤΑΤΑΙ ΕΝΤΟΠΩΣ" να εφαρμόσουν ή "ΔΕΝ ΠΡΕΠΕΙ" να εφαρμόσουν. Εάν μια λειτουργία αναφέρεται ως εφαρμογή "ΠΡΕΠΕΙ", τότε ο κατασκευαστής συσκευών πρέπει να προσθέσει αυτήν τη δυνατότητα, διαφορετικά δεν θα μπορεί να στείλει εφαρμογές Google στις συσκευές του. Εάν μια λειτουργία αναφέρεται ως εφαρμογή "ΔΕΝ ΠΡΕΠΕΙ", τότε ο κατασκευαστής συσκευών δεν μπορεί να προσθέσει αυτήν τη δυνατότητα ή δεν μπορεί να ομαδοποιήσει εφαρμογές Google. Τέλος, εάν μια δυνατότητα αναφέρεται ως "ΣΥΝΙΣΤΩΜΕΝΟ ΕΝΤΟΠΩΣ", τότε εξαρτάται από τον κατασκευαστή της συσκευής εάν θέλει ή όχι να εφαρμόσει τη δυνατότητα. Το CDD είναι ένα έγγραφο που αλλάζει συνεχώς, ακόμη και πριν από τη δημοσίευσή του κάθε χρόνο μετά τη δημόσια κυκλοφορία μιας νέας έκδοσης Android. Η Google ενημερώνει συχνά το έγγραφο για να καταργεί λειτουργίες, να αλλάζει τη γλώσσα για να είναι πιο σαφής και να χαλαρώνει τις απαιτήσεις με βάση τα σχόλια των συνεργατών της. Ωστόσο, μόλις η Google δημοσιοποιήσει ένα CDD για μια συγκεκριμένη έκδοση Android, αυτές οι απαιτήσεις θα καθοριστούν για συσκευές πιστοποιημένες από την Google που εκτελούν αυτήν την έκδοση λειτουργικού συστήματος Android.
Το Android 11 CDD δεν θα δημοσιοποιηθεί παρά αργότερα αυτό το έτος, πιθανότατα στις αρχές Σεπτεμβρίου. Ωστόσο, ο προγραμματιστής @deletescape μοιράστηκε ένα αντίγραφο προέκδοσης ενός εγγράφου που περιγράφει λεπτομερώς τις αλλαγές που έρχονται στο CDD, δίνοντάς μας μια πρώιμη ματιά στον τρόπο με τον οποίο η Google διαμορφώνει το Android 11 σε όλο το οικοσύστημα. Η συντριπτική πλειοψηφία από τις πάνω από 60 αλλαγές στο CDD δεν είναι πολύ ενδιαφέρουσες για τους χρήστες—περιγράφουν πώς Οι κατασκευαστές συσκευών πρέπει να εφαρμόσουν ορισμένα API, να δηλώσουν ορισμένα χαρακτηριστικά και να εφαρμόσουν συγκεκριμένο πυρήνα χαρακτηριστικά. Ωστόσο, 3 από τις αλλαγές στο CDD τράβηξαν την προσοχή μας επειδή σχετίζονται με μερικές από τις πιο ενδιαφέρουσες λειτουργίες στο Android 11. Να τι αποκαλύψαμε.
Χειριστήρια συσκευής
Τα στοιχεία ελέγχου συσκευής είναι μια λειτουργία στο Android 11 που επιτρέπει την εμφάνιση των έξυπνων ελέγχων οικιακού αυτοματισμού στο μενού λειτουργίας. Μπορείτε να σβήσετε τα φώτα σας, να ανοίξετε την πόρτα του γκαράζ σας, να ξεκινήσετε την ηλεκτρική σας σκούπα, να αλλάξετε τη θερμοκρασία του σπιτιού σας και να κάνετε πολλά περισσότερα χωρίς να ανοίξετε δώδεκα διαφορετικές εφαρμογές έξυπνου σπιτιού. Η Google πρόσθεσε API που μπορούν να χρησιμοποιήσουν οι προγραμματιστές έξυπνων οικιακών εφαρμογών για να εμφανίσουν στοιχεία ελέγχου στο μενού λειτουργίας. Πιστεύουμε ότι αυτό είναι ένα προσεγμένο χαρακτηριστικό που φέρνει επιτέλους το smartphone σας στο έξυπνο σπίτι. Δυστυχώς, δεν υπάρχει απαίτηση για τους OEM να το εφαρμόσουν πραγματικά. Εάν ένας OEM πιστεύει ότι το χαρακτηριστικό είναι χωλό ή θέλει να ακολουθήσει διαφορετική διαδρομή (όπως να επιτρέπει μόνο το smart οικιακά χειριστήρια από συσκευές στο δικό τους οικοσύστημα), τότε μπορούν απλά να απενεργοποιήσουν την υποστήριξη για τη Συσκευή Έλεγχοι.
Όταν η Google πρόσθεσε για πρώτη φορά τα στοιχεία ελέγχου συσκευής στο CDD στις 25 Φεβρουαρίου 2020, επέβαλλε τη συμπερίληψή τους προσθέτοντας μια απαίτηση "ΠΡΕΠΕΙ" στην Ενότητα 2.2.3 - Απαιτήσεις λογισμικού χειρός. Ωστόσο, στις 20 Μαΐου 2020, η Google ενημέρωσε το κείμενο για να καταργήσει το προτεινόμενο "MUST". Η νέα Ενότητα 3.8.16 - Στοιχεία ελέγχου συσκευής περιγράφει τον τρόπο με τον οποίο πρέπει να εφαρμοστεί η δυνατότητα, αλλά στην πραγματικότητα δεν απαιτεί να εφαρμοστεί εξαρχής! Ελπίζουμε ότι οι κατασκευαστές OEM δεν θα απενεργοποιήσουν αυτήν την εξαιρετική λειτουργία, αλλά δεν υπάρχει τρόπος να γνωρίζουμε εάν την έχουν απενεργοποιήσει μέχρι να την απενεργοποιήσουν έτοιμοι να αποκαλύψουν τις δικές τους γεύσεις Android που έχουν κατασκευαστεί πάνω από το Android 11, κάτι που θα συμβεί πριν από αρκετούς μήνες από τώρα.
Προτεινόμενη Ενότητα 3.8.16 (Νέα) - Στοιχεία ελέγχου συσκευής (Ενημερώθηκε 20/5/2020)
3.8.16 Χειριστήρια συσκευής
Το Android περιλαμβάνει ControlsProviderService και Control API για να επιτρέπει στους προγραμματιστές να δημοσιεύουν στοιχεία ελέγχου συσκευής για γρήγορη κατάσταση και ενέργειες για τους χρήστες.
3.8.16.1 Έλεγχοι συσκευής Απόδοση χρήστη
Εάν οι συσκευές εφαρμόζουν Στοιχεία ελέγχου συσκευής, τότε:
- [C-1-1] ΠΡΕΠΕΙ να αναφέρει ότι η σημαία android.software.controls.feature είναι ΑΛΗΘΗΣ
- [C-1-2] ΠΡΕΠΕΙ να παρέχει στον χρήστη τη δυνατότητα να προσθέτει, να επεξεργάζεται, να επιλέγει και να χειρίζεται τα αγαπημένα του χρήστη από τα στοιχεία ελέγχου που έχουν καταχωριστεί από τις εφαρμογές τρίτων μέσω του android.service.controls. ControlsProviderService και το android.service.controls. API ελέγχου.
- [C-1-3] ΠΡΕΠΕΙ να παρέχει πρόσβαση σε αυτήν την οικονομική δυνατότητα χρήστη εντός τριών αλληλεπιδράσεων από το πρόγραμμα εκκίνησης
- [C-1-4] ΠΡΕΠΕΙ να αποδίδει με ακρίβεια σε αυτόν τον χρήστη το όνομα και το εικονίδιο κάθε εφαρμογής τρίτου κατασκευαστή που παρέχει στοιχεία ελέγχου μέσω του android.service.controls. ControlsProviderService API καθώς και οποιοδήποτε καθορισμένο εικονίδιο, κείμενο κατάστασης, τύπος συσκευής, όνομα, δομή, ζώνη, προσαρμοσμένο χρώμα και υπότιτλος που παρέχονται από το android.service.controls. API ελέγχου
Αντίθετα, εάν οι υλοποιήσεις συσκευών δεν εφαρμόζουν τέτοιους ελέγχους, τότε αυτοί
- [C-2-1] ΠΡΕΠΕΙ να αναφέρει Null για το ControlsProviderService και τα Control API.
Διαβάστε περισσότερα
Συζητήσεις στις Ειδοποιήσεις
Ένα από τα μεγαλύτερα πλεονεκτήματα του Android σε σύγκριση με το iOS είναι ο τρόπος με τον οποίο το πρώτο χειρίζεται τις ειδοποιήσεις. Αυτό το χάσμα στη χρηστικότητα θα διευρυνθεί ακόμη περισσότερο στο Android 11 με την εισαγωγή του "Conversations". Στο Android 11, ειδοποιήσεις από τις εφαρμογές ανταλλαγής μηνυμάτων ομαδοποιούνται και εμφανίζονται σε ξεχωριστή ενότητα στον πίνακα ειδοποιήσεων πάνω από τις περισσότερες άλλες ειδοποιήσεις. Αυτό σας επιτρέπει να βλέπετε γρήγορα και να απαντάτε σε μηνύματα χωρίς να χρειάζεται να κάνετε κύλιση σε όλες τις άλλες εκκρεμείς ειδοποιήσεις σας. Δυστυχώς, αυτή η εξαιρετική αλλαγή στις ειδοποιήσεις ενδέχεται να μην είναι διαθέσιμη σε όλες τις συσκευές. Η Google δίνει στους OEM την επιλογή να επιλέξουν εάν θέλουν να "ομαδοποιήσουν και να εμφανίσουν ειδοποιήσεις συνομιλιών εκ των προτέρων ειδοποιήσεις χωρίς συνομιλία." Οι OEM προσαρμόζουν συχνά τον πίνακα ειδοποιήσεων και επομένως δεν αποτελεί έκπληξη το γεγονός ότι η Google δίνει σε OEM μια επιλογή εδώ. Ωστόσο, είναι ατυχές που η Google δεν επιλέγει να επιβάλει μεγαλύτερη συνέπεια στις ειδοποιήσεις στο Android 11.
Προτεινόμενες αλλαγές στην Ενότητα 3.8.3.1 - Παρουσίαση Ειδοποιήσεων (Ενημερώθηκε 4/08/2020)
Εάν οι υλοποιήσεις συσκευών επιτρέπουν σε εφαρμογές τρίτων να ειδοποιούν τους χρήστες για αξιοσημείωτα συμβάντα, τότε:
...
Το Android R εισάγει την υποστήριξη για ειδοποίηση συνομιλίας, η οποία είναι μια ειδοποίηση που χρησιμοποιεί το NotificationManager. MessageStyle και παρέχει ένα δημοσιευμένο αναγνωριστικό συντόμευσης ατόμων.
Οι υλοποιήσεις της συσκευής είναι:
- [H-SR] ΣΥΝΙΣΤΑΤΑΙ ΑΝΕΠΙΦΥΛΑΚΤΑ για ομαδοποίηση και εμφάνιση ειδοποιήσεων συνομιλίας πριν από μη συνομιλία ειδοποιήσεις με εξαίρεση τις συνεχιζόμενες ειδοποιήσεις υπηρεσίας πρώτου πλάνου και σημασία: υψηλή ειδοποιήσεις.
Εάν οι ειδοποιήσεις συνομιλίας ομαδοποιούνται σε ξεχωριστή ενότητα, υλοποιήσεις συσκευών
- [H-1-8] ΠΡΕΠΕΙ να εμφανίζει ειδοποιήσεις συνομιλίας πριν από ειδοποιήσεις μη συνομιλίας, με εξαίρεση τις ειδοποιήσεις υπηρεσίας σε εξέλιξη στο προσκήνιο και τη σημασία: υψηλές ειδοποιήσεις.
Οι υλοποιήσεις της συσκευής είναι:
- [H-SR] ΣΥΝΙΣΤΑΤΑΙ ΑΝΕΠΙΦΥΛΑΚΤΑ για την παροχή πρόσβασης στις ακόλουθες ενέργειες από ειδοποιήσεις συνομιλίας: εμφανίστε αυτήν τη συνομιλία ως συννεφάκι εάν η εφαρμογή παρέχει τα απαιτούμενα δεδομένα για φυσαλίδες
Η υλοποίηση AOSP πληροί αυτές τις απαιτήσεις με την προεπιλεγμένη διεπαφή χρήστη συστήματος, τις ρυθμίσεις και το πρόγραμμα εκκίνησης.
Διαβάστε περισσότερα
IdentityCredential - Άδειες οδήγησης για κινητά
Τέλος, ένα από τα χαρακτηριστικά που με ενθουσιάζει περισσότερο είναι το IdentityCredential API. Όπως αναφέραμε πέρυσι, το IdentityCredential API έχει σχεδιαστεί για να επιτρέπει στις εφαρμογές να αποθηκεύουν έγγραφα ταυτότητας, όπως άδειες οδήγησης για κινητά, στη συσκευή. Αρκετές χώρες (και ορισμένες πολιτείες των ΗΠΑ) σε όλο τον κόσμο επιτρέπουν ήδη στους πολίτες τους να αποθηκεύουν τις άδειες οδήγησης σε μια εφαρμογή για κινητά. Ωστόσο, η Google εργάζεται για να το καταστήσει πιο ασφαλές με την αποθήκευση των δεδομένων εκτός σύνδεσης σε ένα ασφαλές περιβάλλον.
Ο πηγαίος κώδικας για το Android 11 περιλαμβάνει το IdentityCredential API (το οποίο οι προγραμματιστές θα καλέσουν για να αποθηκεύσουν έγγραφα ταυτότητας στο τηλέφωνο ασφαλές περιβάλλον) και το IdentityCredential HAL (το οποίο συνδέεται με το ασφαλές περιβάλλον του τηλεφώνου), αλλά οι OEM δεν απαιτείται να να τα εφαρμόσουν. Όταν η Google πρότεινε για πρώτη φορά τη συμπερίληψη του IdentityCredential στο CDD στις 10 Ιανουαρίου 2020, το κατέθεσε ως απαίτηση. Ωστόσο, χαλάρωσαν αυτήν την απαίτηση στις 18 Μαρτίου 2020 και τώρα μόνο συνιστούν ανεπιφύλακτα οι OEM να υποστηρίζουν αυτήν τη δυνατότητα. Δεν μας εκπλήσσει που η Google χαλάρωσε αυτήν την απαίτηση—η προσθήκη μιας αλλαγής που επηρεάζει το αξιόπιστο περιβάλλον εκτέλεσης θα απαιτήσει προσπάθεια από τους OEM για την εφαρμογή. Είναι πιθανό ότι οι OEM χρειάζονται απλώς περισσότερο χρόνο για να προετοιμαστούν για αυτήν την αλλαγή. Για τους χρήστες, ωστόσο, αυτό σημαίνει ότι δεν υπάρχει καμία εγγύηση ότι το συγκεκριμένο smartphone Android 11 θα υποστηρίζει την ασφαλή αποθήκευση μιας άδειας οδήγησης κινητού στο ασφαλές περιβάλλον του τηλεφώνου.
Θα πρέπει να σημειώσουμε ότι δεν υπάρχει κανένας τεχνικός περιορισμός που να εμποδίζει την ευρεία υιοθέτηση του συστήματος IdentityCredential μεταξύ των συσκευών Android 11. Μία από τις απαιτήσεις για την εφαρμογή του συστήματος IdentityCredential είναι ότι η συσκευή διαθέτει αξιόπιστη εκτέλεση Περιβάλλον (TEE) ή ένας αποκλειστικός ασφαλής επεξεργαστής στον οποίο μια "αξιόπιστη εφαρμογή" αλληλεπιδρά με την αποθηκευμένη ταυτότητα έγγραφα. Από το Android 7.0 Nougat, η Google απαιτεί από όλες τις σύγχρονες συσκευές Android να υποστηρίζουν ένα "απομονωμένο περιβάλλον εκτέλεσης" (ανά Ενότητα 2.2.5 - Μοντέλο ασφαλείας στο CDD). Οι συσκευές με επεξεργαστές ARM διαθέτουν συνήθως ARM TrustZone Το ΤΕΕ και η Google παρέχει το Αξιόπιστο λειτουργικό σύστημα που τρέχει στο TrustZone. Η παρουσία ενός TEE είναι αρκετή για να υποστηρίξει το σύστημα IdentityCredential, αν και θα ήταν πιο ασφαλές εάν τα διαπιστευτήρια αποθηκεύονται σε μια ενσωματωμένη ασφαλή CPU (όπως στο Ασφαλής μονάδα επεξεργασίας ορισμένων επεξεργαστών Qualcomm Snapdragon) ή μια διακριτή ασφαλή CPU (όπως στο Ο Titan M της Google ή Τα νέα τσιπ ασφαλείας της Samsung). Συγκεκριμένα, οι συσκευές με διακριτές ασφαλείς CPU ενδέχεται επίσης να μπορούν να υποστηρίζουν τη δυνατότητα "Λειτουργία άμεσης πρόσβασης" του συστήματος IdentityCredential, που θα επιτρέψει στον χρήστη να ανασύρει το έγγραφο ταυτότητάς του ακόμα και όταν δεν υπάρχει αρκετή ισχύς στη συσκευή για την εκκίνηση του κύριου λειτουργικού συστήματος.
Προτεινόμενη Ενότητα 9.11.3 (Νέα) - Διαπιστευτήριο Ταυτότητας (Ενημερώθηκε 18/3/2020)
Το Identity Credential System επιτρέπει στους προγραμματιστές εφαρμογών να αποθηκεύουν και να ανακτούν έγγραφα ταυτότητας χρήστη.
Υλοποιήσεις συσκευής:
- Οι [C-SR] ΣΥΝΙΣΤΑΤΑΙ ΑΝΕΠΙΦΥΛΑΚΤΑ για την εφαρμογή του Συστήματος Διαπιστευτηρίων Ταυτότητας.
Εάν οι υλοποιήσεις συσκευών υλοποιούν το Σύστημα διαπιστευτηρίων ταυτότητας, τότε:
- [C-0-1] ΠΡΕΠΕΙ να επιστρέψει μη μηδενικό για το IdentityCredentialStore#getInstance() μέθοδος.
- [C-0-2] ΠΡΕΠΕΙ να εφαρμόσει τα API «android.security.identity.*» με κώδικα που επικοινωνεί με αξιόπιστο εφαρμογή που εκτελείται είτε σε Trusted Execution Environment (TEE) είτε σε ειδική ασφάλεια επεξεργαστή. Η αξιόπιστη εφαρμογή πρέπει να υλοποιηθεί έτσι ώστε το Αξιόπιστη Βάση Υπολογιστών για το σύστημα διαπιστευτηρίων ταυτότητας δεν περιλαμβάνει το λειτουργικό σύστημα Android.
Διαβάστε περισσότερα
Η Google εργάζεται επίσης σε μια βιβλιοθήκη Jetpack IdentityCredential για να διευκολύνει τους προγραμματιστές να προσθέτουν υποστήριξη για την ασφαλή αποθήκευση ταυτότητας έγγραφα στο Android, αλλά η πραγματική πρόκληση θα είναι να ζητήσουν από τις κυβερνήσεις να εξουσιοδοτήσουν εφαρμογές που χρησιμοποιούν αυτό το API για την ασφαλή αποθήκευση κυβερνητικών αναγνωριστικών. Σύμφωνα με Engadget, η Νότια Κορέα μόλις κυκλοφόρησε την υποστήριξη για την αποθήκευση αδειών οδήγησης σε μια εφαρμογή για κινητά, οπότε αρχίζουμε να βλέπουμε μια αύξηση στην αποδοχή αυτής της τεχνολογίας. Εγώ, για ένα, είμαι ενθουσιασμένος να δω πού πάει αυτό γιατί θα σημαίνει κάτι λιγότερο να κουβαλάω μαζί μου όταν βγαίνω έξω.
Το έγγραφο που λάβαμε απαριθμούσε αλλαγές στο CDD μέχρι την ημερομηνία που έγιναν αυτές οι αλλαγές. Οι τελευταίες αλλαγές έγιναν στις 10 Ιουνίου 2020, πράγμα που σημαίνει ότι το έγγραφο που έχουμε είναι αρκετά ενημερωμένο. Είναι πιθανό η Google να αρνηθεί αυτές τις αλλαγές και να τις επαναφέρει όλες τις απαιτήσεις πριν από τη δημόσια κυκλοφορία του Android 11, αλλά αμφιβάλλουμε ότι η Google θα κάνει ξαφνικά το CDD περισσότερο αυστηρός. Αυτές οι αλλαγές ήταν πιθανό να χαλαρώσουν λόγω των σχολίων από τους OEM που είναι αυτοί που θα πρέπει να επιστρέψουν και να εφαρμόσουν αυτές τις δυνατότητες, εάν δεν είχαν ήδη προγραμματιστεί να το κάνουν. Αυτό απαιτεί χρόνο, προσπάθεια και χρήματα, κάτι που απλώς θα καθυστερούσε ακόμη περισσότερο την κυκλοφορία του Android 11 για συσκευές εκτός Google. Ωστόσο, εάν η Google όντως απαιτήσει αυτές τις λειτουργίες για άλλη μια φορά, θα δημοσιεύσουμε μια ενημέρωση στο XDA Portal.