Android 11 přijde s novým nastavením „Kompatibilita aplikací“ v Možnostech pro vývojáře, což vývojářům aplikací usnadní testování změn chování platformy.
Každý rok na Google I/O Google upozorňuje na některé z nejzajímavějších změn přicházejících do příští verze Androidu. Zatímco většina uživatelů posuzuje verze Androidu podle vizuálních změn, které ovlivňují jejich zkušenosti, každá aktualizace Androidu také přichází s tunou změny API a chování platformy. Tyto změny jsou důležité pro vývojáře aplikací, aby je vzali na vědomí a připravili na ně své aplikace, protože mohou zásadně změnit způsoby, kterými mohou jejich aplikace používat koncoví uživatelé. S další verzí Androidu, Android 11, Google usnadní vývojářům testování a přípravu jejich aplikací na nadcházející změny pomocí nového nastavení „Kompatibilita aplikací“ v Možnostech pro vývojáře.
Pokaždé, když Google uvolní novou verzi Androidu, vývojáři aplikací, kteří mají zájem aktivně udržovat jejich aplikace si musí přečíst nové změny a dokumentaci, která k nim přichází Změny. Poté se mohou rozhodnout aktualizovat svou aplikaci a přidat tyto nové funkce API, pokud chtějí, nebo migrovat používání stávajících rozhraní API na novější rozhraní API, což je cesta, která může nebo nemusí být volitelná. Vývojáři aplikací nemusejí okamžitě aktualizovat cílové API svých aplikací, ale nakonec to musí udělat, aby splnili
posun požadavků na cílové rozhraní API obchodu Google Play. Poté vývojáři také potřebují skutečně otestovat svou aplikaci na nové verzi Androidu, a to lze provést na emulovaném zařízení, zařízení hostovaném v cloudu nebo místním zařízení. Testování je součástí vývojové rutiny, ale testování se stává ještě důležitějším, když se jedná o velké změny.Dále, když chce Google zavést zásadní změny chování platformy, neimplementuje změnu okamžitě v nové verzi Androidu. To má chránit uživatele před poškozením a ztrátou funkčnosti mnoha jejich aplikací a také to dává vývojářům více času na aktualizaci svých aplikací. Například v Androidu 7 Nougat se Google rozhodl omezit některá implicitní vysílání aby se šetřila životnost baterie. Se systémem Android 8 Oreo, Google zcela omezily aplikace v registraci implicitních přijímačů vysílání. Před vydáním Androidu 8 Oreo však Google chtěl, aby se vývojáři připravili na scénář, kdy jejich aplikace již nebudou moci registrovat implicitní přijímače vysílání. A za to by vývojáři mohli použijte příkaz ADB v Android 7 Nougat k simulaci stavu, kdy implicitní vysílání není k dispozici:
adb shell cmd appops set RUN_IN_BACKGROUND ignore
Příkazy ADB, jako je ten výše, jsou příkladem toho, jak Google umožňuje vývojářům aplikací testovat, jak by se jejich aplikace chovaly při změnách chování platformy Android.
Dalším nedávným příkladem je, jak v Android Q Beta 2 Google požádal vývojáře, aby otestovali Scoped Storage v jejich aplikacích spuštěním tohoto příkazu ADB:
adb shell cmd appops set your-package-name android: legacy_storage default && \
Jako vývojář aplikací lze předpokládat, že jste spokojeni s příkazy ADB a nejste nijak zvlášť proti tomu, abyste je používali k testování těchto změn platformy. Vždy je ale co zlepšovat a Google tento testovací proces usnadňuje zavedením jednoduchého uživatelského rozhraní pro ovládání těchto změn.
S novým Projekt PlatformCompat, vývojáři již nemusí spouštět příkazy ADB pro každou novou změnu chování platformy. S Androidem 11 bude mít Android novou podnabídku v Možnostech vývojáře pro rychlé přepínání nových změn chování platformy na základě jednotlivých aplikací, aniž by bylo nutné odesílat jakékoli příkazy prostředí ADB. Pro každou cílovou úroveň API budou různé sekce – například úroveň API > 29 bude mít vlastní sadu změn chování, které lze přepínat, zatímco úroveň API > 30 bude mít vlastní sadu Změny.
Na snímku obrazovky výše znázorňující sekci Kompatibilita aplikací (ze zdrojově vytvořeného AOSP běžícího na emulátoru) se zobrazuje „Výchozí Sekce Povolené změny“ obsahuje změny rozhraní Android 11 API, které budou ve výchozím nastavení povoleny ve všech aplikacích bez ohledu na jejich cíl SDK. Sekce „povoleno pro targetSDKversion > 29“ jsou změny API Android 11, které jsou povoleny pouze pro aplikace, které cílí na Android 11/API úrovně 30.
I když tato konkrétní změna přímo nenadchne koncové uživatele, usnadní práci vývojářům aplikací, a to je vždy dobře.
Díky XDA Recognized Developer luca020400 za tip a poskytnutí přiloženého snímku obrazovky.
Další pokrytí na Androidu 11:
- Android 11 může konečně odstranit limit velikosti souborů Android 4 GB pro nahrávání videa
- Plánování tmavého režimu by mohlo přijít v Androidu 11
- Režim Letadlo může konečně přestat vypínat zvuk Bluetooth, počínaje Androidem 11 R
- Google ukončuje Android AsyncTask API v Androidu 11
- Google přiměje vývojáře správce souborů odeslat formulář, aby získali široký přístup k úložišti souborů v systému Android 11
- Android 11 možná konečně přinese pořádnou nativní implementaci Wireless ADB