Android 11 tutvustab arendajavalikut "Rakenduste ühilduvus", mis aitab testida platvormi muudatusi

Android 11-l on arendaja valikus uus seade „Rakenduste ühilduvus”, mis muudab rakenduste arendajatel platvormi käitumise muudatuste testimise lihtsamaks.

Igal aastal Google I/O-s tõstab Google esile Androidi järgmise versiooni kõige põnevamad muudatused. Kuigi enamik kasutajaid hindab Androidi versioone visuaalsete muudatuste järgi, mis nende kogemust mõjutavad, on iga Androidi värskendusega kaasas ka palju uuendusi muudatused API-des ja platvormi käitumine. Need muudatused on olulised, et rakenduste arendajad peaksid neid tähele panema ja oma rakendusi ette valmistama, kuna need võivad põhjalikult muuta viise, kuidas lõppkasutajad nende rakendusi tarbivad. Androidi järgmise versiooniga Android 11 muudab Google arendajatel lihtsamaks oma rakenduste testimise ja ettevalmistamise eelseisvateks muudatusteks, kasutades arendaja valikutes olevat uut seadet „Rakenduste ühilduvus”.

Iga kord, kui Google annab välja uue Androidi versiooni, on rakenduste arendajad, kes on huvitatud aktiivsest hooldamisest nende rakendused peavad tutvuma uute muudatustega ja nendega kaasnevate dokumentidega muudatusi. Seejärel saavad nad otsustada oma rakendust värskendada, et lisada need uued API-funktsioonid, kui nad soovivad, või viia olemasolevate API-de kasutus üle uuematele API-dele. Tee, mis võib olla valikuline või mitte. Rakenduste arendajad ei pea oma rakenduste siht-API kohe värskendama, kuid nad peavad seda lõpuks tegema, et täita

Google Play poe siht-API nõuete nihutamine. Pärast seda peavad arendajad oma rakendust ka uues Androidi versioonis testima ja seda saab teha emuleeritud seadmes, pilve hostitud seadmes või kohalikus seadmes. Testimine on osa arendusrutiinist, kuid testimine muutub veelgi olulisemaks, kui sellega kaasnevad suured muudatused.

Lisaks, kui Google soovib platvormi käitumises suuri muudatusi sisse viia, ei rakenda nad muudatust kohe Androidi uues versioonis. Selle eesmärk on kaitsta kasutajaid paljude nende rakenduste purunemise ja funktsionaalsuse kaotamise eest ning see annab arendajatele ka rohkem aega oma rakenduste värskendamiseks. Näiteks Android 7 Nougati puhul otsustas Google seda teha piirata mõningaid kaudseid saateid aku tööea säästmiseks. Android 8 Oreo, Google täielikult piiranud rakendustel kaudsete saatevastuvõtjate registreerimist. Kuid enne Android 8 Oreo väljaandmist soovis Google, et arendajad valmistuksid stsenaariumiks, kus nende rakendused ei saaks enam kaudseid levivastuvõtjaid registreerida. Ja selleks saaksid arendajad kasutage Android 7 Nougatis ADB-käsku, et simuleerida olukorda, kus kaudsed saated pole saadaval:

adb shell cmd appops set RUN_IN_BACKGROUND ignore

ADB käsud, nagu ülaltoodud, on näide sellest, kuidas Google lubab rakenduste arendajatel testida, kuidas nende rakendused Androidi platvormi käitumise muutuste korral käituksid.

Veel üks hiljutine näide on see, kuidas Android Q Beta 2 Google palus arendajatel Scoped Storage'i testida nende rakendustes, käivitades selle ADB käsu:

adb shell cmd appops set your-package-name android: legacy_storage default && \

Rakenduste arendajana võib eeldada, et olete ADB-käskudega rahul ega ole eriti vastumeelne nende kasutamisest nende platvormimuudatuste testimiseks. Kuid alati on arenguruumi ja Google muudab selle testimisprotsessi lihtsamaks, tutvustades nende muudatuste juhtimiseks lihtsat kasutajaliidest.

Koos uuega PlatformCompat projekt, ei pea arendajad enam iga uue platvormi käitumise muudatuse jaoks ADB-käske käivitama. Operatsioonisüsteemiga Android 11 on Androidil arendaja valikutes uus alammenüü, mis võimaldab kiiresti platvormi käitumise muutusi rakendusepõhiselt vahetada, ilma et oleks vaja ADB kestakäske saata. Iga siht-API taseme jaoks on erinevad jaotised – näiteks API tase > 29 oma käitumismuudatuste komplekt, mida saab sisse lülitada, samas kui API tasemel > 30 on oma komplekt muudatusi.

Ülaltoodud ekraanipildil, mis näitab rakenduste ühilduvuse jaotist (emulaatoris töötavast lähteallikast koostatud AOSP-st), on „Vaikimisi Jaotis Lubatud muudatused" sisaldab Android 11 API muudatusi, mis lubatakse vaikimisi kõigis rakendustes, olenemata nende sihtmärgist SDK. Jaotis "lubatud targetSDKversion > 29 jaoks" on Android 11 API muudatused, mis on lubatud ainult rakenduste jaoks, mis sihivad Android 11/API taset 30.

Kuigi see konkreetne muudatus lõppkasutajaid otseselt ei eruta, muudab see rakenduste arendajate töö lihtsamaks ja see on alati hea.


Tänu XDA tunnustatud arendajale luca020400 vihje ja lisatud ekraanipildi esitamiseks.

Täiendav katvus Android 11-s:

  • Android 11 võib lõpuks eemaldada Androidi 4 GB failimahu piirangu videosalvestuste jaoks
  • Tumeda režiimi ajastamine võib tulla Android 11-s
  • Lennurežiim võib lõpuks lõpetada Bluetoothi ​​heli väljalülitamise, alustades operatsioonisüsteemist Android 11 R
  • Google katkestab Androidi AsyncTask API-i Android 11-s
  • Google paneb failihalduri arendajad esitama vormi, et saada Android 11-s laialdane juurdepääs failide salvestusruumile
  • Android 11 võib lõpuks tuua õige, loomuliku traadita ADB-rakenduse