Το Dynamic Android θα επιτρέψει στους προγραμματιστές να δοκιμάσουν το AOSP σε οποιαδήποτε συσκευή Android Q

click fraud protection

Ένα νέο έργο που ονομάζεται Dynamic Android θα επιτρέψει στους προγραμματιστές να δοκιμάσουν τα AOSP Android Q GSI σε οποιαδήποτε συσκευή με Android Q ή νεότερη έκδοση.

Χάρη σε Project Treble, οι κατασκευαστές συσκευών smartphone έχουν παραδώσει ενημερώσεις λογισμικού Android Pie γρηγορότερα από ό, τι μπόρεσαν να το κάνουν για την ενημέρωση Android Oreo, τουλάχιστον για τα κορυφαία smartphone. Ωστόσο, η Google δεν θέλει να δει μόνο τους OEM να αποκομίζουν τα οφέλη του Project Treble. Η εταιρεία είχε στο παρελθόν εκδήλωσε ενδιαφέρον στην κυκλοφορία μιας Γενικής Εικόνας Συστήματος (GSI) του Android Q για προγραμματιστές, ώστε να μην χρειάζεται να βασίζονται σε εξομοιωτές, χρησιμοποιήστε ένα υπηρεσία cloud, ή να περιμένουν μια ενημέρωση στη δική τους συσκευή για να δοκιμάσουν μια εφαρμογή σε σχέση με το πιο πρόσφατο επίπεδο API. Θεωρητικά, η κυκλοφορία ενός GSI θα πρέπει να επιτρέπει σε κάθε προγραμματιστή με συσκευή συμβατή με Project Treble (αρχικά Android 8.0 Oreo και άνω, αλλά τώρα εξετάζονται μόνο συσκευές που κυκλοφορούν με Android 9 Pie) για να δοκιμάσετε το πιο πρόσφατο Android εκδοχή. Το μόνο που πρέπει να κάνει ο προγραμματιστής είναι να αναβοσβήνει μια εικόνα συστήματος πάνω από την υπάρχουσα εγκατάσταση λογισμικού — δεν χρειάζεται προσαρμοσμένη ανάκτηση, εκκίνηση ή εικόνα προμηθευτή.

Ωστόσο, υπάρχουν αρκετά προβλήματα με την τρέχουσα διαδικασία εγκατάστασης GSI. Πρώτα, χρειάζεστε έναν ξεκλείδωτο bootloader, ο οποίος δεν είναι δυνατό σε συσκευές Huawei ή Honor (χωρίς πληρωμή ένα αντίτιμο), τις συσκευές Nokia της HMD Global (εξαιρουμένων των Nokia 8), ή συσκευές με επωνυμία εταιρείας κινητής τηλεφωνίας των ΗΠΑ. Στη συνέχεια, το επεξεργάζομαι, διαδικασία θα είναι δύσκολο για όποιον δεν είναι εξοικειωμένος με τις εικόνες που αναβοσβήνουν μέσω του fastboot. Τέλος, αν αναβοσβήσετε τώρα ένα GSI, θα χρειαστεί να σκουπίσετε εντελώς τον εσωτερικό χώρο αποθήκευσης, πράγμα που σημαίνει ότι πιθανότατα θα θέλετε μια εφεδρική συσκευή για δοκιμή. Αυτήν τη στιγμή, το να αναβοσβήνει ένα GSI είναι μόνο κάτι που χρησιμοποιούν οι OEM για να δοκιμάσουν τη συμβατότητα Project Treble στις συσκευές τους, και πέρα ​​από αυτό, είναι ελκυστικό μόνο για σκληρούς λάτρεις της προσαρμοσμένης ROM. Το νέο έργο «Dynamic Android» της Google μπορεί να προσπαθήσει να το αλλάξει αυτό.

Δυναμικό Android—Δοκιμάστε εύκολα τα AOSP GSI σε οποιαδήποτε συσκευή Android Q

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

Δυναμικό Android και Android On Tap

Δύο νέες υπηρεσίες προστίθενται στο Android Q: οι υπηρεσίες Dynamic Android και Android On Tap. Ενώ το Dynamic Android χειρίζεται την εγκατάσταση ενός GSI, το Android On Tap ενημερώνει τις εφαρμογές του συστήματος με επανακλήσεις και προθέσεις μετάδοσης. Για παράδειγμα, το Android On Tap ειδοποιεί το KeyguardManager να ζητήσει από τον χρήστη να επιβεβαιώσει ένα αίτημα εγκατάστασης εάν η συσκευή προστατεύεται από PIN, κωδικό πρόσβασης ή μοτίβο. Το AOT ειδοποιεί επίσης τον χρήστη όταν εκκινείται σε ένα GSI.

Σύμφωνα με την περιγραφή για το "DynamicAndroidManager", η υπηρεσία "προσφέρει έναν μηχανισμό για τη χρήση ενός νέου Android εικόνα προσωρινά." Μετά την εγκατάσταση, η συσκευή μπορεί να επανεκκινήσει στην πρόσφατα εγκατεστημένη εικόνα με μια νέα που δημιουργήθηκε /data. Η επανεκκίνηση ενώ βρίσκεται στο GSI επιστρέφει τον χρήστη στην αρχική εικόνα συστήματος, αλλά η πρόσφατα εγκατεστημένη εικόνα και τα δεδομένα της απλώς απενεργοποιούνται και δεν διαγράφονται. Ωστόσο, εάν ο χρήστης επιλέξει να το κάνει, το GSI και τα δεδομένα του μπορούν να αφαιρεθούν πλήρως.

Πηγές: [1], [2], [3], [4]

GSID

Ο δαίμονας GSI εκχωρεί χώρο στο διαμέρισμα /data για να αποθηκεύσει την εικόνα GSI και τα δεδομένα της και να κάνει την εικόνα εκκινήσιμη. Τα μεταδεδομένα του GSI αποθηκεύονται στο /metadata, ενώ το ίδιο το GSI και τα δεδομένα του αποθηκεύονται στο /data/gsi. Από προεπιλογή, το GSID εκχωρεί 8 GB δεδομένων χρήστη για το πρόσφατα εγκατεστημένο GSI. Γενικά, το GSID αναζητά τουλάχιστον 40% ελεύθερο χώρο πριν ξεκινήσει μια εγκατάσταση. Τέλος, ο δαίμονας εμποδίζει τον χρήστη να εγκαταστήσει ένα GSI μέσα σε ένα GSI, για προφανείς λόγους.

Πηγές: [1], [2], [3], [4]

Ασφάλεια

Το Android Verified Boot (AVB) είναι ενεργοποιημένο για την πρόσφατα εγκατεστημένη εικόνα συστήματος EXT4 (system_gsi προσαρτημένο στο /system). Η Google έχει επίσης εφαρμόσει πολιτικές SELinux για τις νέες υπηρεσίες. Τέλος, η εγκατάσταση ενός GSI απαιτεί μια εφαρμογή να έχει τη νέα άδεια MANAGE_DYNAMIC_ANDROID. Αυτή είναι μια άδεια σε επίπεδο υπογραφής που σημαίνει ότι η εφαρμογή πρέπει να είναι υπογεγραμμένη από τον OEM.

Πηγές: [1], [2]

Εντολές ADB και Fastboot

Τα GSI θα μπορούν επίσης να εγκατασταθούν μέσω νέων εντολών ADB. Η νέα εντολή ADB gsi_tool shell θα επιτρέψει στους χρήστες να απενεργοποιήσουν, να ενεργοποιήσουν ξανά, να εγκαταστήσουν και να διατηρήσουν userdata, εγκαταστήστε και δημιουργήστε δεδομένα χρήστη, εγκαταστήστε και διαγράψτε τα δεδομένα χρήστη ή ελέγξτε την κατάσταση του εγκατάσταση.

gsi_tool - command-line tool for installing GSI images.

Usage:
gsi_tool <disable|install|wipe|status> [options]

disable Disable the currently installed GSI.
enable Enable a previously disabled GSI.
installInstall a new GSI. Specify the image sizewith
--gsi-size and the desired userdata size with
--userdata-size (the latter defaults to 8GiB)
--wipe (remove old gsi userdata first)
wipe Completely remove a GSI and its associated data
status Showstatus

Θα προστεθούν δύο νέες εντολές fastboot για τη διαχείριση του GSI, αν και η εγκατάσταση fastboot δεν υποστηρίζεται, καθώς το fastboot δεν μπορεί να προσαρτήσει τα δεδομένα χρήστη.

fastboot gsi wipe
fastboot gsi disable

Πηγές: [1], [2]

Ποιον θα ωφελήσει αυτό;

Θέλω να πω ότι οι προγραμματιστές εφαρμογών θα μπορούν να επωφεληθούν από το Dynamic Android και το Android On Tap, αλλά δεν είμαι απολύτως σίγουρος. Αν και η Google έχει εκφράσει ενδιαφέρον για αυτό ακριβώς, δεν υπάρχει καμία εγγύηση ότι αυτή η δυνατότητα θα είναι διαθέσιμη σε κάθε έκδοση του Android Q από OEM εκτός Google. Για να επωφεληθεί από αυτό στη συσκευή, το λογισμικό χρειάζεται μια εφαρμογή επιλογής GSI που να είναι υπογεγραμμένη από το ίδιο πιστοποιητικό με το ROM. Επίσης, δεν είμαι βέβαιος ότι η εγκατάσταση GSI από το ADB θα είναι δυνατή χωρίς root ADB λόγω των πολιτικών του SELinux.Εκσυγχρονίζω: Ενα νέο διαπράττω επιβεβαιώνει ότι η ρίζα ADB θα απαιτείται για τη χρήση του GSI_tool. Εάν αυτό δεν προορίζεται για τους προγραμματιστές εφαρμογών να δοκιμάσουν τις εφαρμογές τους σε μια καθαρή έκδοση Android, τότε πιθανότατα θα είναι μόνο επωφελούνται μηχανικοί από OEM που θέλουν να δοκιμάσουν τη σουίτα δοκιμής συμβατότητας (CTS) και τη σουίτα δοκιμής προμηθευτή (VTS) στο δικό τους συσκευές.

Ιδιαίτερες ευχαριστίες στον προγραμματιστή XDA Recognized luca020400 για τη βοήθειά του σε αυτό το άρθρο.