Android 11 uvest će opciju za razvojne programere "Kompatibilnost aplikacije" koja će pomoći u testiranju promjena platforme

click fraud protection

Android 11 dolazi s novom postavkom "Kompatibilnost aplikacije" u opciji za razvojne programere, što će programerima aplikacija olakšati testiranje promjena ponašanja platforme.

Svake godine na Google I/O, Google ističe neke od najuzbudljivijih promjena koje dolaze u sljedeću verziju Androida. Dok većina korisnika prosuđuje verzije Androida prema vizualnim promjenama koje utječu na njihovo iskustvo, svako ažuriranje Androida također dolazi s tonom promjene API-ja i ponašanje platforme. Ove su promjene važne za razvojne programere aplikacija koje treba uzeti u obzir i pripremiti svoje aplikacije za njih, budući da mogu iz temelja promijeniti načine na koje krajnji korisnici mogu koristiti njihove aplikacije. Sa sljedećom verzijom Androida, Android 11, Google će programerima olakšati testiranje i pripremu svojih aplikacija za nadolazeće promjene s novom postavkom "Kompatibilnost aplikacija" u opcijama za razvojne programere.

Svaki put kada Google izda novu verziju Androida, programeri aplikacija koji su zainteresirani za aktivno održavanje njihove aplikacije moraju pročitati nove promjene i dokumentaciju koja dolazi uz njih promjene. Zatim mogu odlučiti ažurirati svoju aplikaciju kako bi dodali ove nove značajke API-ja ako to žele ili premjestiti svoju upotrebu postojećih API-ja na novije API-je, put koji može, ali i ne mora biti neobavezan. Programeri aplikacija ne moraju odmah ažurirati ciljni API svojih aplikacija, ali to moraju učiniti na kraju kako bi zadovoljili

mijenjanje ciljnih API zahtjeva trgovine Google Play. Nakon toga, programeri također trebaju stvarno testirati svoju aplikaciju na novoj verziji Androida, a to se može učiniti na emuliranom uređaju, uređaju u oblaku ili lokalnom uređaju. Testiranje je dio razvojne rutine, ali testiranje postaje još važnije kada su uključene velike promjene.

Nadalje, kada Google želi uvesti velike promjene u ponašanju platforme, ne implementira odmah promjenu u novoj verziji Androida. Ovo je u svrhu zaštite korisnika od kvara i gubitka funkcionalnosti mnogih njihovih aplikacija, a razvojnim programerima daje više vremena za ažuriranje svojih aplikacija. Na primjer, u Androidu 7 Nougat Google je odlučio ograničiti neka implicitna emitiranja kako biste uštedjeli vijek trajanja baterije. S Androidom 8 Oreo, Google potpuno ograničio aplikacijama registriranje implicitnih prijemnika emitiranja. Ali prije nego što je Android 8 Oreo objavljen, Google je želio da se programeri pripreme za scenarij u kojem njihove aplikacije više neće moći registrirati implicitne prijemnike emitiranja. A za ovo bi programeri mogli koristite ADB naredbu u Androidu 7 Nougat za simulaciju uvjeta u kojima su implicitna emitiranja nedostupna:

adb shell cmd appops set RUN_IN_BACKGROUND ignore

ADB naredbe kao što je ova iznad primjer su kako Google dopušta programerima aplikacija da testiraju kako bi se njihove aplikacije ponašale pod promjenama ponašanja platforme Android.

Drugi nedavni primjer je kako u Android Q Beta 2, Google je zamolio programere da testiraju Scoped Storage na svojim aplikacijama pokretanjem ove ADB naredbe:

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

Kao razvojni programer aplikacija, može se pretpostaviti da ste zadovoljni s ADB naredbama i da niste osobito neskloni njihovoj upotrebi za testiranje ovih promjena platforme. Ali uvijek ima mjesta za poboljšanje, a Google olakšava ovaj proces testiranja uvođenjem jednostavnog korisničkog sučelja za kontrolu ovih promjena.

S novim Projekt PlatformCompat, programeri više ne moraju pokretati ADB naredbe za svaku novu promjenu ponašanja platforme. S Androidom 11, Android će imati novi podizbornik unutar opcija za razvojne programere za brzo prebacivanje novih promjena ponašanja platforme na bazi svake aplikacije, bez potrebe za slanjem naredbi ADB ljuske. Postojat će različiti odjeljci za svaku ciljanu API razinu -- na primjer, API razina > 29 imat će vlastiti skup promjena ponašanja koje se mogu mijenjati, dok će API razina > 30 imati vlastiti skup promjene.

Na gornjoj snimci zaslona koja prikazuje odjeljak Kompatibilnost aplikacije (iz izvornog AOSP-a koji se izvodi na emulatoru), "Zadana Odjeljak Omogućene promjene" uključuje promjene Android 11 API-ja koje će prema zadanim postavkama biti omogućene u svim aplikacijama bez obzira na njihov cilj SDK. Odjeljak "omogućeno za targetSDKversion > 29" promjene su Android 11 API-ja koje su omogućene samo za aplikacije koje ciljaju Android 11/API razinu 30.

Iako ova posebna promjena neće izravno oduševiti krajnje korisnike, olakšava posao razvojnim programerima aplikacija, a to je uvijek dobro.


Zahvaljujući XDA Recognised Developer luca020400 za savjet i za pružanje priložene snimke zaslona.

Dodatna pokrivenost na Androidu 11:

  • Android 11 bi konačno mogao ukloniti Androidovo ograničenje veličine datoteke od 4 GB za video snimke
  • Zakazivanje tamnog načina rada moglo bi doći u Androidu 11
  • Način rada u zrakoplovu mogao bi konačno prestati isključivati ​​Bluetooth audio, počevši od Androida 11 R
  • Google obustavlja Androidov AsyncTask API u Androidu 11
  • Google će natjerati programere upravitelja datoteka da pošalju obrazac kako bi dobili široki pristup pohrani datoteka u Androidu 11
  • Android 11 bi konačno mogao donijeti odgovarajuću, nativnu Wireless ADB implementaciju