Η Google κυκλοφόρησε τα GSI της δεύτερης έκδοσης Android Q. Αυτές οι εικόνες συστήματος μπορούν να εγκατασταθούν σε συσκευές συμβατές με το Project Treble για δοκιμή εφαρμογών. Να πώς.
Καθώς πλησιάζουμε όλο και περισσότερο την τελική έκδοση του Android Q, ο χρόνος για τους προγραμματιστές να ενημερώσουν τις εφαρμογές τους μειώνεται. Αν και το Android 9 Pie (επίπεδο API 28) δεν έχει ακόμη φτάσει στη συντριπτική πλειονότητα των συσκευών, οι απαιτήσεις επιπέδου API του Google Play, τις οποίες θα πρέπει γνωρίζουν ήδη καλά, θα σας αναγκάσει να στοχεύσετε το επίπεδο API 29 το 2020. Εάν δεν έχετε ήδη ενημερώσει την εφαρμογή σας για να στοχεύει το Android 9 Pie, έπειτα έχετε μέχρι τον Αύγουστο εάν σκοπεύετε να ξεκινήσετε μια νέα εφαρμογή ή μέχρι τον Νοέμβριο εάν σκοπεύετε να ενημερώσετε μια υπάρχουσα εφαρμογή. Για όσους από εσάς θέλετε να ξεκινήσετε την ανάπτυξη για την επόμενη έκδοση Android, μπορείτε ήδη να δοκιμάσετε την εφαρμογή σας στο Εξομοιωτής Android Studio ή σε φυσικό υλικό εάν διαθέτετε
οποιοδήποτε smartphone Google Pixel. Φέτος, ωστόσο, η Google παρέχει στους προγραμματιστές έναν άλλο τρόπο δοκιμής των εφαρμογών τους έναντι της πιο πρόσφατης έκδοσης Android: αναβοσβήνει ένα Android Q beta GSI σε μια συσκευή συμβατή με Project Treble.Project Treble είναι μια σημαντική πρωτοβουλία για τη βελτίωση της ταχύτητας με την οποία οι κατασκευαστές συσκευών smartphone μπορούν να προωθήσουν τις ενημερώσεις λογισμικού και ασφάλειας. Με λίγα λόγια, το Treble απαιτεί από τους κατασκευαστές συσκευών να διαχωρίζουν το λογισμικό που κάνει το υλικό να λειτουργεί από το λογισμικό πίσω από το λειτουργικό σύστημα. Αυτό επιτρέπει στους κατασκευαστές συσκευών να εκκινούν νέες εκδόσεις Android στις υπάρχουσες συσκευές τους, ώστε να μπορούν να ξεκινήσουν το επίπονο έργο της μεταφοράς της υπάρχουσας βάσης κώδικα πάνω από τη νέα έκδοση πηγαίου κώδικα Android. Συμπληρωματικό του CTS είναι το VTS ή η σουίτα δοκιμών προμηθευτή, ένα σύνολο δοκιμών που χρησιμοποιούν οι κατασκευαστές συσκευών για να επαληθεύσουν ότι η συσκευή τους πληροί τις απαιτήσεις του Project Treble. Ένας από τους πιο σημαντικούς ελέγχους που πρέπει να δοκιμάσουν οι κατασκευαστές συσκευών είναι η δυνατότητα για ένα smartphone συμβατό με Treble να εκκινεί αυτό που ονομάζεται GSI ή Generic System Image. Το GSI είναι μια μη τροποποιημένη έκδοση του AOSP που προορίζεται για τους κατασκευαστές συσκευών να δουν εάν έχουν εφαρμόσει σωστά το Treble. Πέρα από τους OEM, όμως, η Google πιστεύει ότι τα GSI μπορούν να χρησιμοποιηθούν από προγραμματιστές για δοκιμές συμβατότητας εφαρμογών Android.
Για παράδειγμα, εάν δεν είστε κάτοχος Google Pixel, ο μόνος τρόπος για να δοκιμάσετε τη συμπεριφορά της εφαρμογής σας υπό τις συνθήκες που ταιριάζουν καλύτερα με τις συνθήκες της Google Η τεκμηρίωση είναι για εσάς είτε να αποκτήσετε μια δική σας συσκευή Pixel, να εκκινήσετε τον εξομοιωτή Android Studio ή να εξετάσετε μια δοκιμή στο cloud υπηρεσία. Καθένα από αυτά έχει τα πλεονεκτήματα και τα μειονεκτήματά του, αλλά εάν έχετε μια υπάρχουσα συσκευή συμβατή με Treble και δεν θέλετε να ξοδέψετε χρήματα ή να αντιμετωπίσετε τους περιορισμούς ενός εξομοιωτή, γιατί να μην βάλετε ένα GSI σε αυτήν; Εάν η εφαρμογή σας λειτουργεί σε GSI, θα πρέπει να λειτουργεί σε όλες σχεδόν τις συσκευές που εκτελούν αυτήν την έκδοση Android.
Αυτή είναι η διαδικασία σκέψης πίσω από την απόφαση της Google να κυκλοφορήσει Android Q GSI, ή τουλάχιστον αυτό πιστεύουμε. Ο πηγαίος κώδικας για το Android Q δεν θα είναι διαθέσιμος μέχρι τον Αύγουστο, επομένως τα επίσημα δυαδικά αρχεία GSI της Google είναι ο μόνος τρόπος αυτή τη στιγμή για να δοκιμάσετε το Android Q σε πραγματικό υλικό που δεν είναι Pixel. Δείτε πώς μπορείτε να ξεκινήσετε.
Απαιτήσεις
Πριν καν σκεφτείτε να εγκαταστήσετε το Android Q beta, θα πρέπει να ελέγξετε εάν η συσκευή σας είναι συμβατή με το Project Treble και μπορεί να δεχτεί εικόνες συστήματος που αναβοσβήνουν από το bootloader.
Απαιτήσεις:
- Η συσκευή σου ΠΡΕΠΕΙ έχουν ένα ξεκλείδωμα bootloader. Smartphone Snapdragon Samsung που πωλούνται στις ΗΠΑ, συσκευές με επωνυμία Huawei, συσκευές με την επωνυμία Honor και συσκευές με την επωνυμία Nokia της HMD Global (εκτός από Nokia 8) δεν πληρούν τις προϋποθέσεις εδώ.
- Έχετε εγκατεστημένα στον υπολογιστή σας τα πιο πρόσφατα δυαδικά αρχεία ADB και Fastboot, τα οποία μπορείτε να βρείτε εδώ. Οι παλιές εκδόσεις του Fastboot ενδέχεται να οδηγήσουν σε ακατάλληλα φλας.
- Η συσκευή σου ΠΡΕΠΕΙ συναντώ ένας από τα ακόλουθα κριτήρια που πρέπει να θεωρηθούν συμβατό με το Project Treble:
- Η συσκευή κυκλοφόρησε με Android 9 Pie. Εάν συμβαίνει αυτό, τότε μπορείτε να παραλείψετε την επιβεβαίωση συμβατότητας με Treble αφού φτάσετε στο τέλος αυτής της ενότητας.
- Η συσκευή κυκλοφόρησε με Android 8.0 Oreo ή Android 8.1 Oreo αλλά ενημερώθηκε σε Android 9 Pie με απομόνωση VNDK και system-as-root. Αναλυτικά πώς μπορείτε να το ανακαλύψετε στην παρακάτω ενότητα.
Πριν προχωρήσουμε περαιτέρω, αξίζει να αναφέρουμε ότι το να αναβοσβήνει ένα GSI θα απαιτήσει την πλήρη διαγραφή του διαμερίσματος δεδομένων χρήστη. Αυτό σημαίνει ότι θα χάσετε όλες τις φωτογραφίες, τα βίντεο, τη μουσική, τα έγγραφα ή οτιδήποτε άλλο στον εσωτερικό και εξωτερικό χώρο αποθήκευσης (/data/media) της συσκευής. Επομένως, συνιστάται ιδιαίτερα η δημιουργία αντιγράφων ασφαλείας εκτός συσκευής πριν προχωρήσετε περαιτέρω.
Στη συνέχεια, λάβετε υπόψη ότι αυτά τα GSI δεν έχουν περάσει το CTS, οπότε αν η εφαρμογή σας χρησιμοποιεί το API βεβαίωσης SafetyNet για να ελέγξει την ακεραιότητα της συσκευής με ένα προφίλ CTS, τότε αυτό δεν θα λειτουργήσει. Επίσης, αυτές οι εκδόσεις δεν προορίζονται για καθημερινή χρήση, επομένως μην εκπλαγείτε αν μία ή περισσότερες βασικές λειτουργίες υλικού δεν λειτουργούν πέρα από τα ήδη τεκμηριωμένα σφάλματα στο Android Q. Η Google έχει ήδη αναφέρει μερικά γνωστά προβλήματα με το GSI, τα οποία μπορείτε να βρείτε εδώ. Οποιαδήποτε νέα σφάλματα βρίσκετε θα πρέπει να αρχειοθετούνται εδώ.
Επιβεβαίωση συμβατότητας με Treble
Εκτελέστε την ακόλουθη εντολή:
adbshellgetpropro.treble.enabled
Αν η απάντηση είναι ψευδής, τότε η συσκευή σας δεν είναι συμβατή με το Project Treble και δεν πρέπει να συνεχίσετε. Αν η απάντηση είναι αληθής, τότε είστε ελεύθεροι να προχωρήσετε.
Στη συνέχεια, ελέγξτε για υποστήριξη μεταξύ εκδόσεων εκτελώντας αυτές τις εντολές:
adb shell
cat /system/etc/ld.config.28.txt | grep -A 20"\[vendor\]"
Στην έξοδο, αναζητήστε την ενότητα [Προμηθευτή]και, στη συνέχεια, σε αυτήν την ενότητα, αναζητήστε namespace.default.isolated. Εάν η τιμή για αυτό το χαρακτηριστικό είναι αληθής, τότε η συσκευή σας θα πρέπει να υποστηρίζει την εκκίνηση του Android Q GSI πάνω από μια εικόνα προμηθευτή Android 9 Pie. Αν η τιμή είναι ψευδής, τότε η συσκευή σας μπορεί να χρησιμοποιήσει το GSI μόνο για την ίδια έκδοση του λειτουργικού συστήματος στη συσκευή.
Τέλος, πρέπει να επιβεβαιώσετε εάν η συσκευή σας είναι system-as-root, στην οποία ο δίσκος ramdisk συγχωνεύεται με την εικόνα συστήματος. Το System-as-root δεν είναι υποχρεωτικό για συσκευές που αναβαθμίζονται σε Android 9 Pie, αλλά είναι απαραίτητο για την υποστήριξη OTA μόνο για το σύστημα, όπως στην περίπτωση που αναβοσβήνει μια νέα έκδοση λειτουργικού συστήματος μέσω GSI. Εκτελέστε τις ακόλουθες εντολές και βεβαιωθείτε ότι η έξοδος ταιριάζει με το "system-as-root":
adb shell
cat /proc/mounts | grep -q /dev/root && echo"system-as-root" || echo"non-system-as-root"
Τώρα που ξέρετε ότι η συσκευή σας είναι συμβατή με Treble, πρέπει να καταλάβετε ποια έκδοση του δυαδικού αρχείου GSI να κατεβάσετε, καθώς υπάρχουν διαφορετικές εικόνες για διαφορετικές αρχιτεκτονικές. Για να δείτε ποια αρχιτεκτονική έχει η συσκευή σας, εκτελέστε την ακόλουθη εντολή:
adbshellgetpropro.product.cpu.abi
Σημειώστε το αποτέλεσμα εδώ, καθώς θα το χρειαστείτε κατά τη λήψη του GSI.
Λήψη του GSI
Οι σύνδεσμοι λήψης για τις επίσημες εκδόσεις του Android Q beta GSI είναι διαθέσιμοι από την Google εδώ. Θα πρέπει να κάνετε λήψη της κατάλληλης έκδοσης με βάση την αρχιτεκτονική της συσκευής σας, την οποία ανακαλύψατε στο προηγούμενο βήμα. Η λήψη θα είναι αρκετά μεγάλη εάν κάνετε λήψη της έκδοσης με GMS ή Google Mobile Services, κάτι που συνιστούμε ανεπιφύλακτα, ώστε να μπορείτε να δοκιμάσετε την εφαρμογή σας σε μια έκδοση με τις Υπηρεσίες Google Play.
Μόλις ολοκληρωθεί η λήψη του αρχείου, μπορείτε να το αποσυμπιέσετε. Περιέχονται δύο αρχεία, system.img, και vbmeta.img.
Αναβοσβήνει το GSI
- Κάντε επανεκκίνηση στο bootloader της συσκευής σας χρησιμοποιώντας είτε έναν συνδυασμό κουμπιών είτε εκδίδοντας την εντολή:
adb reboot bootloader
- Στη συνέχεια, πρέπει να απενεργοποιήσουμε το Android Verified Boot (AVB). Μπορείτε να το κάνετε αυτό εισάγοντας την ακόλουθη εντολή:
fastbootflashvbmetavbmeta.img
- Στη συνέχεια, ας σκουπίσουμε το διαμέρισμα συστήματος:
fastboot erase system
- Μπορούμε επιτέλους να αναβοσβήσουμε το Android Q GSI με:
fastbootflashsystemsystem.img
- Μόλις γίνει αυτό, σκουπίστε το διαμέρισμα δεδομένων χρήστη με:
fastboot -w
- Επανεκκινήστε τη συσκευή σας χρησιμοποιώντας είτε το κουμπί λειτουργίας είτε εισάγοντας:
fastboot reboot
Ας ελπίσουμε ότι θα πρέπει να εκκινήσει μετά από λίγα λεπτά. Αυτά τα βήματα επικυρώθηκαν σε ένα Pixel 3 XL, αλλά θα πρέπει να λειτουργούν καθολικά. Μπορούμε να επαληθεύσουμε ότι το Android Q beta 2 GSI δεν εκκινείται στο OnePlus 6T, αλλά εκκινείται στο Xiaomi Mi 9. Μπορεί να λειτουργεί στο Sony Xperia XZ3, αλλά μας λένε ότι δεν εκκινείται στο Moto G7. Τα χιλιόμετρα σας ενδέχεται να διαφέρουν καθώς οι απαιτήσεις της Google επιβεβαιώνουν μόνο τη συμβατότητα GSI της ίδιας έκδοσης λειτουργικού συστήματος.