Android 11 predstaví vývojársku možnosť „Kompatibilita aplikácií“, ktorá pomôže testovať zmeny platformy

click fraud protection

Android 11 príde s novým nastavením „Kompatibilita aplikácií“ v možnosti vývojára, čo vývojárom aplikácií uľahčí testovanie zmien správania platformy.

Každý rok na Google I/O Google upozorňuje na niektoré z najzaujímavejších zmien, ktoré prichádzajú do ďalšej verzie Androidu. Zatiaľ čo väčšina používateľov posudzuje verzie systému Android podľa vizuálnych zmien, ktoré ovplyvňujú ich skúsenosti, každá aktualizácia systému Android prichádza s množstvom zmeny v API a správanie platformy. Tieto zmeny sú dôležité pre vývojárov aplikácií, aby ich vzali na vedomie a pripravili na ne, pretože môžu zásadne zmeniť spôsoby, akými môžu ich aplikácie používať koncoví používatelia. S ďalšou verziou Androidu, Android 11, Google uľahčí vývojárom testovanie a prípravu ich aplikácií na nadchádzajúce zmeny pomocou nového nastavenia „Kompatibilita aplikácií“ v Možnostiach vývojára.

Zakaždým, keď spoločnosť Google vydá novú verziu systému Android, vývojári aplikácií, ktorí majú záujem o aktívnu údržbu ich aplikácie si musia prečítať nové zmeny a dokumentáciu, ktorá k nim prichádza zmeny. Potom sa môžu rozhodnúť aktualizovať svoju aplikáciu a pridať tieto nové funkcie API, ak chcú, alebo migrovať svoje používanie existujúcich rozhraní API na novšie rozhrania API, čo je cesta, ktorá môže alebo nemusí byť voliteľná. Vývojári aplikácií nemusia okamžite aktualizovať cieľové rozhranie API svojich aplikácií, ale nakoniec to musia urobiť, aby splnili

posunutie cieľových požiadaviek na API obchodu Google Play. Potom musia vývojári skutočne otestovať svoju aplikáciu na novej verzii systému Android, čo sa dá urobiť na emulovanom zariadení, zariadení hostovanom v cloude alebo lokálnom zariadení. Testovanie je súčasťou vývojovej rutiny, ale testovanie sa stáva ešte dôležitejším, keď sú zahrnuté veľké zmeny.

Okrem toho, keď chce Google zaviesť veľké zmeny správania platformy, neimplementuje túto zmenu okamžite do novej verzie Androidu. Je to preto, aby sa používatelia chránili pred rozbitím a stratou funkčnosti mnohých ich aplikácií a vývojári tiež získali viac času na aktualizáciu svojich aplikácií. Napríklad v systéme Android 7 Nougat sa Google rozhodol obmedziť niektoré implicitné vysielania aby sa šetrila výdrž batérie. So systémom Android 8 Oreo, Google úplne zakázali aplikáciám registrovať implicitné vysielacie prijímače. Pred vydaním Androidu 8 Oreo však Google chcel, aby sa vývojári pripravili na scenár, v ktorom ich aplikácie už nebudú môcť registrovať implicitné vysielacie prijímače. A za to by vývojári mohli použite príkaz ADB v systéme Android 7 Nougat na simuláciu stavu, keď implicitné vysielanie nie je k dispozícii:

adb shell cmd appops set RUN_IN_BACKGROUND ignore

Príkazy ADB, ako je ten vyššie, sú príkladom toho, ako Google umožňuje vývojárom aplikácií testovať, ako by sa ich aplikácie správali pri zmenách správania platformy Android.

Ďalším nedávnym príkladom je, ako v systéme Android Q Beta 2 Google požiadal vývojárov, aby otestovali Scoped Storage v ich aplikáciách spustením tohto príkazu ADB:

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

Ako vývojár aplikácií možno predpokladať, že ste spokojní s príkazmi ADB a nie ste obzvlášť proti ich používaniu na testovanie týchto zmien platformy. Vždy je však čo zlepšovať a Google tento testovací proces uľahčuje zavedením jednoduchého používateľského rozhrania na ovládanie týchto zmien.

S novým Projekt PlatformCompat, vývojári už nemusia spúšťať príkazy ADB pre každú novú zmenu správania platformy. So systémom Android 11 bude mať Android v rámci možností vývojára novú podponuku na rýchle prepínanie nových zmien správania platformy pre jednotlivé aplikácie bez toho, aby ste museli odosielať príkazy prostredia ADB. Pre každú cieľovú úroveň API budú rôzne sekcie – napríklad úroveň API > 29 bude mať svoju vlastnú sadu zmien správania, ktoré možno prepínať, zatiaľ čo úroveň API > 30 bude mať vlastnú sadu zmeny.

Na snímke obrazovky vyššie zobrazujúcej sekciu Kompatibilita aplikácií (zo zdroja vytvoreného AOSP spusteného na emulátore) sa zobrazuje „Predvolené Sekcia Povolené zmeny“ obsahuje zmeny rozhrania Android 11 API, ktoré budú predvolene povolené vo všetkých aplikáciách bez ohľadu na ich cieľ SDK. Sekcia „povolené pre targetSDKversion > 29“ sú zmeny rozhrania Android 11 API, ktoré sú povolené iba pre aplikácie, ktoré sú zacielené na Android 11/API úrovne 30.

Aj keď táto konkrétna zmena priamo nenadchne koncových používateľov, uľahčí prácu vývojárom aplikácií, a to je vždy dobré.


Vďaka XDA Recognized Developer luca020400 za tip a poskytnutie priloženej snímky obrazovky.

Ďalšie pokrytie pre Android 11:

  • Android 11 môže konečne odstrániť limit veľkosti súboru Android 4 GB pre nahrávanie videa
  • Plánovanie tmavého režimu by mohlo prísť v systéme Android 11
  • Režim v lietadle môže konečne prestať vypínať zvuk Bluetooth, počnúc systémom Android 11 R
  • Google zavrhuje Android AsyncTask API v Androide 11
  • Google prinúti vývojárov správcu súborov odoslať formulár, aby získali široký prístup k ukladaniu súborov v systéme Android 11
  • Android 11 môže konečne priniesť správnu, natívnu implementáciu Wireless ADB