Android Q Beta GSI: n asentaminen laitteellesi, jotta voit testata sovelluksiasi

Google julkaisi toisen Android Q -betaversion GSI: t. Nämä järjestelmäkuvat voidaan asentaa Project Treble -yhteensopiviin laitteisiin sovellusten testausta varten. Toimi näin.

Mitä lähemmäs viimeistä Android Q -julkaisua, kehittäjien sovelluspäivitysaika lyhenee. Vaikka Android 9 Pie (API-taso 28) ei ole vielä saavuttanut suurinta osaa laitteista, Google Playn API-tason vaatimukset, jotka sinun tulee olla jo hyvin tietoinen, pakottaa sinut kohdistamaan API-tasolle 29 vuonna 2020. Jos et ole vielä päivittänyt sovellustasi kohdistamaan Android 9 Pie -käyttöjärjestelmään, sitten sinulla on aikaa elokuuhun asti, jos aiot julkaista uuden sovelluksen, tai marraskuuhun, jos aiot päivittää olemassa olevan sovelluksen. Niille teistä, jotka haluavat aloittaa seuraavan Android-version kehittämisen, voit jo testata sovellustasi Android Studio -emulaattori tai fyysisellä laitteistolla, jos omistat mikä tahansa Google Pixel -älypuhelin. Tänä vuonna Google tarjoaa kuitenkin kehittäjille toisen tavan testata sovelluksiaan uusimman Android-version kanssa: vilkkumalla

Android Q beta GSI Project Treble -yhteensopivaan laitteeseen.

Projekti Treble on merkittävä aloite, jolla pyritään parantamaan nopeutta, jolla älypuhelinlaitteiden valmistajat voivat julkaista ohjelmisto- ja tietoturvapäivityksiä. Lyhyesti sanottuna Treble edellyttää, että laitevalmistajat erottavat ohjelmiston, joka saa laitteiston toimimaan, käyttöjärjestelmän takana olevista ohjelmistoista. Tämän ansiosta laitevalmistajat voivat käynnistää uusia Android-julkaisuja olemassa oleville laitteilleen, jotta he voivat aloittaa vaikean tehtävän siirtää olemassa oleva koodipohjansa uuden Android-lähdekoodijulkaisun päälle. CTS: ää täydentää VTS eli Vendor Test Suite, testisarja, jonka avulla laitevalmistajat varmistavat, että laitteensa täyttää Project Treblen vaatimukset. Yksi tärkeimmistä laitevalmistajien testattavista testeistä on Treble-yhteensopivan älypuhelimen kyky käynnistää niin sanottu GSI tai Generic System Image. GSI on AOSP: n muokkaamaton versio, joka on tarkoitettu laitevalmistajille, jotta he voivat nähdä, ovatko he ottaneet Treblen käyttöön oikein. OEM-valmistajien lisäksi Google uskoo että kehittäjät voivat käyttää GSI: itä Android-sovellusten yhteensopivuuden testaamiseen.

Jos esimerkiksi et omista Google Pixeliä, ainoa tapa testata sovelluksesi toimintaa olosuhteissa, jotka vastaavat parhaiten Googlen dokumentaatio on tarkoitettu sinulle joko oman Pixel-laitteen hankkimiseen, Android Studio -emulaattorin käynnistämiseen tai pilvitestaukseen. palvelua. Jokaisella näistä on hyvät ja huonot puolensa, mutta jos sinulla on Treble-yhteensopiva laite etkä halua kuluttaa rahaa tai käsitellä emulaattorin rajoituksia, miksi et lyö GSI: tä siihen? Jos sovelluksesi toimii GSI: ssä, sen pitäisi toimia lähes kaikissa laitteissa, joissa on kyseinen Android-versio.

Tämä on ajatusprosessi Googlen päätöksessä julkaista Android Q GSI: t, tai ainakin niin ajattelemme. Android Q: n lähdekoodi on saatavilla vasta elokuussa, joten Googlen viralliset GSI-binaarit ovat tällä hetkellä ainoa tapa testata Android Q: ta aidolla ei-piksellaitteistolla. Näin pääset alkuun.

Vaatimukset

Ennen kuin edes harkitset Android Q betan asentamista, sinun tulee tarkistaa, onko laitteesi Project Treble -yhteensopiva ja voiko se hyväksyä käynnistyslataimen vilkkuvia järjestelmäkuvia.

Vaatimukset:

  • Laitteesi ON PAKKO on avattava käynnistyslatain. Snapdragon Samsung -älypuhelimet, joita myydään Yhdysvalloissa, Huawei-merkkiset laitteet, Honor-merkkiset laitteet ja HMD Globalin Nokia-merkkiset laitteet (paitsi Nokia 8) eivät kelpaa tänne.
  • Tietokoneellesi on asennettu uusimmat ADB- ja Fastboot-binaarit, jotka löydät tässä. Fastbootin vanhentuneet versiot voivat aiheuttaa virheellisiä välähdyksiä.
  • Laitteesi ON PAKKO tavata yksi seuraavista kriteereistä, joita voidaan pitää Project Treble -yhteensopivana:
    • Laite JULKAISTU Android 9 Pie -käyttöjärjestelmällä. Jos näin on, voit ohittaa Treble-yhteensopivuuden vahvistamisen, kun olet saavuttanut tämän osan loppuun.
    • Laite lanseerattiin Android 8.0 Oreolla tai Android 8.1 Oreolla, mutta se päivitettiin Android 9 Pie -käyttöjärjestelmään VNDK-eristyksellä ja järjestelmän pääkäyttäjänä. Kerromme yksityiskohtaisesti, kuinka se selviää alla olevassa osiossa.

Ennen kuin siirrymme pidemmälle, on syytä mainita, että GSI: n vilkkuminen vaatii käyttäjätietojen osion täydellisen pyyhkimisen. Tämä tarkoittaa, että menetät kaikki valokuvat, videot, musiikin, asiakirjat ja kaiken muun laitteen sisäisessä ja ulkoisessa (/data/media) tallennustilassa. Siksi varmuuskopion tekeminen laitteen ulkopuolelta ennen jatkamista on erittäin suositeltavaa.

Muista seuraavaksi, että nämä GSI: t eivät ole läpäisseet CTS: ää, joten jos sovelluksesi käyttää SafetyNet Attestation APIa laitteen eheyden tarkistamiseen CTS-profiilin osuman avulla, se ei toimi. Näitä rakennelmia ei myöskään ole tarkoitettu päivittäiseen käyttöön, joten älä ihmettele, jos yksi tai useampi laitteiston perustoiminto ei toimi Android Q: n jo dokumentoitujen virheiden lisäksi. Google on jo listannut muutamia tunnettuja GSI: n ongelmia, jotka löydät tässä. Kaikki löytämäsi uudet virheet tulee ilmoittaa tässä.

Treble-yhteensopivuuden vahvistaminen

Suorita seuraava komento:

adbshellgetpropro.treble.enabled

Jos vastaus on väärä, laitteesi ei ole Project Treble -yhteensopiva, eikä sinun pitäisi jatkaa. Jos vastaus on totta, voit jatkaa eteenpäin.

Tarkista seuraavaksi versioiden välinen tuki suorittamalla nämä komennot:

adb shell
cat /system/etc/ld.config.28.txt | grep -A 20"\[vendor\]"

Etsi tulosteesta osa [myyjä]ja etsi sitten kyseisestä osiosta namespace.default.isolated. Jos kyseisen määritteen arvo on totta, laitteesi pitäisi tukea Android Q GSI: n käynnistämistä Android 9 Pie -toimittajan kuvan päällä. Jos arvo on väärä, laitteesi voi käyttää GSI: tä vain samalle käyttöjärjestelmäversiolle.

Näytelähtö OnePlus 6T: stä.

Lopuksi sinun on vahvistettava, onko laitteesi system-as-root, jossa muistilevy on yhdistetty järjestelmäkuvaan. System-as-root ei ole pakollinen laitteille, jotka päivitetään Android 9 Pie -käyttöjärjestelmään, mutta se on välttämätöntä vain järjestelmälle tarkoitetun OTA: n tukemiseksi, esimerkiksi silloin, kun uusi käyttöjärjestelmäversio päivitetään GSI: n kautta. Suorita seuraavat komennot ja varmista, että tulos vastaa "system-as-root":

adb shell
cat /proc/mounts | grep -q /dev/root && echo"system-as-root" || echo"non-system-as-root"

Nyt kun tiedät, että laitteesi on Treble-yhteensopiva, sinun on selvitettävä, mikä versio GSI-binaarista ladataan, koska eri arkkitehtuureille on olemassa erilaisia ​​kuvia. Jos haluat nähdä, mikä arkkitehtuuri laitteessasi on, suorita seuraava komento:

adbshellgetpropro.product.cpu.abi

Kirjoita tulos tähän muistiin, koska tarvitset sitä lataaessasi GSI: tä.

GSI: n lataaminen

Android Q beta GSI: n virallisten koontiversioiden latauslinkit ovat saatavilla Googlelta tässä. Sinun tulee ladata sopiva versio laitteesi arkkitehtuurin perusteella, jonka selvitit edellisessä vaiheessa. Lataus on melko suuri, jos lataat koontiversion GMS: n tai Google Mobile Services -palvelun avulla. Suosittelemme tätä, jotta voit testata sovellustasi Google Play -palveluiden koontiversiossa.

Kun tiedosto on ladattu, voit purkaa sen. Sisältää kaksi tiedostoa, system.img, ja vbmeta.img.

GSI: n vilkkuminen

  1. Käynnistä uudelleen laitteesi käynnistyslataimella joko näppäinyhdistelmällä tai antamalla komento:
    adb reboot bootloader
  2. Seuraavaksi meidän on poistettava Android Verified Boot (AVB) käytöstä. Voit tehdä tämän kirjoittamalla seuraavan komennon:
    fastbootflashvbmetavbmeta.img
  3. Pyyhi seuraavaksi järjestelmäosio:
    fastboot erase system
  4. Voimme vihdoin flash Android Q GSI: n kanssa:
    fastbootflashsystemsystem.img
  5. Kun tämä on tehty, pyyhi userdata-osio:
    fastboot -w
  6. Käynnistä laite uudelleen joko virtapainikkeella tai kirjoittamalla:
    fastboot reboot

Toivottavasti sen pitäisi käynnistyä muutaman minuutin kuluttua. Nämä vaiheet vahvistettiin Pixel 3 XL: ssä, mutta niiden pitäisi toimia yleisesti. Voimme varmistaa, että Android Q beta 2 GSI ei käynnisty OnePlus 6T: ssä, mutta se käynnistyy Xiaomi Mi 9:ssä. Se saattaa toimia Sony Xperia XZ3:ssa, mutta meille kerrotaan, että se ei käynnisty Moto G7:ssä. Kilometrimääräsi voi vaihdella, koska Googlen vaatimukset vahvistavat vain saman käyttöjärjestelmän version GSI-yhteensopivuuden.