Informace o upgrade úrovně API a SDK

Všichni chápeme význam API ve vývoji softwaru, neboť usnadňují sdílení dat a komunikaci mezi různými softwarovými systémy. Zajištění jejich správné funkce je prvořadé. Implementace osvědčených konvencí ve vašem API může výrazně zlepšit jeho škálovatelnost a udržitelnost. Verzování je klíčový koncept, který umožňuje vašim aplikacím udržovat zpětnou kompatibilitu s vývojem vašeho API. Bez správného verzování by jakékoli úpravy vašeho API mohly způsobit neočekávané chyby a narušení v současných klientských aplikacích.

Metody verzování API

  • URL-Based Versioning: Při této metodě je číslo verze začleněno do cesty URL.
  • Query Parameter Versioning: Tato technika zahrnuje připojení čísla verze jako parametru dotazu v koncovém bodě API.

Neexistuje jednomyslná shoda na nejlepším přístupu, neboť každý má své výhody. Ideálně, udržování aktuálních klientských aplikací zajišťuje optimální využití API a minimalizuje problémy. SDK (Software Development Kits) jsou knihovny, které jménem vývojářů zpracovávají integraci API, včetně verzování. SDK poskytují jednotné rozhraní pro klientské vývojáře, abstrahují rozdíly mezi verzemi API. Správné verzování vašeho REST API je klíčové pro jeho evoluci a dlouhodobou stabilitu. Využitím verzovacích technik, jako jsou přístupy založené na URL, parametrech dotazu nebo hlavičkách, můžete spravovat změny a zároveň zajistit zpětnou kompatibilitu. Kromě toho mohou SDK pomáhat klientským aplikacím tím, že abstrahují složitosti API, spravují různé verze a poskytují konzistentní rozhraní.

Upgrade úrovně API v Androidu

Úroveň API Androidu určuje verzi Androidu, na kterou je vaše aplikace postavena, kompilována a spouštěna. V projektu Flutter je to definováno ve vašem modulu Android v souboru android/app/build.gradle. Existují tři hlavní hodnoty:

  • minSdkVersion - Minimální verze Androidu, kterou vaše aplikace podporuje.
  • targetSdkVersion - Verze Androidu, pro kterou je vaše aplikace optimalizována.
  • compileSdkVersion - Verze Android SDK použitá ke kompilaci aplikace.

Kroky pro upgrade úrovně Android API ve Flutteru

Řekněme, že chceme upgradovat z úrovně API 30 na úroveň API 34 (Android 14).

1. Aktualizujte compileSdkVersion a targetSdkVersion

Otevřete android/app/build.gradle a vyhledejte blok android:

android { compileSdkVersion 30 defaultConfig { applicationId "com.example.myapp" minSdkVersion 21 targetSdkVersion 30 versionCode 1 versionName "1.0" }}

Toto je stará verze a musíme ji změnit na:

android { compileVersion 35 defaultConfig { applicationId "com.example.myapp" minVersion 21 targetVersion 35 versionCode 1 versionName "1.0" }}

2. Aktualizujte Root build.gradle (Volitelné)

V android/build.gradle se ujistěte, že je toto konzistentní (není vždy vyžadováno, pokud přímo používáte pevně kódované verze):

ext { compileSdkVersion = 35 targetSdkVersion = 35}

3. Nainstalujte Android 15 SDK v Android Studiu

  • Otevřete Android Studio
  • Přejděte na Předvolby > Vzhled a chování > Nastavení systému > Android SDK
  • Na kartě SDK Platforms zaškrtněte Android 15 (API Level 35)
  • Klikněte na Použít a nechte jej nainstalovat

4. Aktualizujte local.properties (Volitelné)

Pokud vaše sestavení používá local.properties, přidejte:

targetSdk=35

5. Zpracujte změny za běhu v Androidu 15

Nové verze Androidu často zavádějí změny chování. Pro API 35 možná budete muset: Příklad: Omezení služeb v popředí a plánování. Android 15 omezuje používání služeb v popředí spouštěných na pozadí.

Balíčky Android SDK Platform

  • Android SDK Platform package.
  • Several System Image packages. (handsets, Android TV, and Android Wear). and ARM 64 v8a).
  • The Sources for Android package. platform.
  • Platform package only. to resolve bugs with the emulator.
  • Android system image that is optimized for headless automated tests.

Historie úrovní API Androidu

Zde je přehled některých úrovní API a jejich vydání:

API úroveň Verze Androidu Typ vydání
24 7.0 Initial release for Android 7.0 (API level 24)
23 6.0 Initial release for Android 6.0 (API level 23)
22 5.1 Initial release for Android 5.1 (API level 22)
21 5.0 Initial release for Android 5.0 (API level 21)
20 4.4W Maintenance release
19 4.4.2 The system version is 4.4.2
19 4.4 Initial release. The system version is 4.4.
18 4.3 Maintenance update
17 4.2.2 Initial release
16 4.1 Maintenance update
15 4.0.3 Initial release
14 4.0 Maintenance update
13 3.2 Maintenance update
12 3.1 Initial release
11 3.0 Maintenance update
10 2.3.3 Maintenance update
9 2.3 Initial release
8 2.2 Maintenance update
7 2.1 Initial release
6 2.0.1 Initial release
5 2.0 Initial release
4 1.6 Initial release

Budoucí požadavky Google Play

Od 31. srpna 2025:

  • Nové aplikace a aktualizace aplikací musí cílit na Android 15 (úroveň API 35) nebo vyšší, aby mohly být odeslány na Google Play; s výjimkou aplikací pro Wear OS, Android Automotive OS a Android TV, které musí cílit na Android 14 (úroveň API 34) nebo vyšší.
  • Existující aplikace musí cílit na Android 14 (úroveň API 34) nebo vyšší, aby zůstaly k dispozici novým uživatelům na zařízeních se systémem Android OS vyšším, než je cílová úroveň API vaší aplikace.
  • Aplikace, které cílí na Android 13 (úroveň API 33) nebo nižší, včetně Android 12 (úroveň API 31) nebo nižší pro Wear OS a Android TV, budou k dispozici pouze na zařízeních se systémem Android OS, který je stejný nebo nižší než cílová úroveň API vaší aplikace.

Bude možné požádat o prodloužení do 1. listopadu 2025, pokud budete potřebovat více času na aktualizaci své aplikace. K formulářům pro prodloužení platnosti aplikace budete mít přístup v konzoli Play později v tomto roce.

Každý rok Android vyžaduje aktualizaci SDK pro aplikace, aby dodržovaly jeho bezpečnostní standardy a standardy uživatelského prostředí (UX). Termín pro letošní aktualizace aplikací, které mají cílit minimálně na úroveň API 33, je 31. srpen, ale prodloužení je k dispozici do 1. listopadu. Například nový mandát stanoví, že aktualizované aplikace musí žádat o povolení pro jednotlivé typy médií, spíše než jedno, zastřešující povolení pro externí úložiště. Přestože stávající uživatelé vaši aplikaci stále najdou a budou používat, noví uživatelé nenajdou aplikace cílí na úroveň API 30 nebo nižší. Pokud má vaše aplikace zůstat viditelná v obchodě s aplikacemi a je pod úrovní API 31, je čas na upgrade minimálně na úroveň API 31 nebo úroveň API 33. Aktualizace stávajících aplikací by měly cílit minimálně na úroveň API 33. Po 31. srpnu a včetně prodloužení do 1. listopadu bude zakázáno nahrávat balíčky aplikací, které cílí na úroveň API nižší než 33, na Play Store.

Doporučení pro minimální SDK

Výběr správné minimální verze SDK je rozhodující pro dosažení rovnováhy mezi pokrytím podporovaných zařízení a dobou vývoje. I když je pokrytí zařízení důležitým faktorem, který je nutné při rozhodování o minimální verzi zvážit, je třeba mít na paměti i další aspekty. Například čím nižší je minimální verze SDK, tím více času budete muset věnovat údržbě codebase a zajištění její kompatibility se všemi různými verzemi SDK. Kromě toho může zvolená minimální verze SDK omezovat funkce, které lze do aplikace zahrnout, protože verze pro starší SDK nepodporují nejnovější funkce. Při rozhodování o minimální verzi SDK pro projekt je nakonec důležité pečlivě zvážit všechna pro a proti, aby bylo zajištěno správné vyvážení mezi pokrytím zařízení a dobou vývoje. Verze SDK (úroveň API) přímo souvisí s verzí systému Android. Pro účely tohoto článku budou tyto pojmy používány zaměnitelně.

Nejoblíbenější aplikace v Obchodě Play a jejich min. podporované verze pro Android

Při rozhodování je užitečné podívat se, co dělají ostatní. Je zřejmé, že jen několik nejstahovanějších aplikací podporuje verze systému Android nižší než 5 (tj. minSdk 21).

Doporučení: Sledujte trend alespoň verze Android 5 (tj. minSdk 21).

Jetpack Compose

Jetpack Compose je moderní sada nástrojů Androidu pro vytváření nativního uživatelského rozhraní. Zjednodušuje a zrychluje vývoj uživatelského rozhraní na Androidu, oživuje vaše aplikace s menším množstvím kódu, výkonnými nástroji a intuitivními Kotlin API. Z našich zkušeností vyplývá, že vytvoření aplikace bez sady nástrojů Jetpack Compose vyžaduje dvakrát více úsilí. Chcete-li urychlit vývoj a vytvořit intuitivní uživatelské rozhraní, doporučujeme používat sadu nástrojů Jetpack Compose, která vyžaduje verzi systému Android 5 (minSdk 21) nebo vyšší.

Doporučení: Pro urychlení vývoje a vytvoření intuitivního uživatelského rozhraní používejte Jetpack Compose ⇒ Android 5 (minSdk 21) nebo vyšší.

Poslední bezpečnostní aktualizace podle verzí

Pokud aplikace zpracovává osobní údaje, měla by být bezpečnost nejvyšší prioritou. Aktualizace zabezpečení jsou v roztříštěném ekosystému Androidu velkým problémem. V současné době dostávají bezpečnostní aktualizace pouze zařízení se systémem Android 10 nebo novějším. V průměru jsou verze systému Android podporovány po dobu 3,3 roku. Po skončení podpory mohou být objeveny nové bezpečnostní problémy, takže zařízení (a tím i aplikace) jsou vůči nim zranitelná, pokud nejsou opraveny.

Mezi potenciální bezpečnostní problémy patří:

  • Vzdálený přístup k citlivým údajům používaným pro ověřování vzdálených služeb, jako jsou hesla účtů nebo přístupové tokeny.
  • Lokální přístup ke stejným údajům.
  • Obcházení ochran operačního systému - přístup k obsahu paměti nebo souborů přes hranice aplikací, uživatelů nebo profilů.
  • Vzdálené obcházení požadavků na interakci s uživatelem, například přístup k funkcím nebo datům, které by měly vyžadovat iniciaci uživatelem nebo jeho povolení.

Doporučení: Vyberte minimální verzi SDK odpovídající verzi systému Android vydané nejvýše před čtyřmi lety.

Oprávnění

Udělování oprávnění za běhu bylo zavedeno v systému Android 6 (API 23). V nižších verzích byla všechna oprávnění udělena při instalaci. V systému Android 11+ jsou oprávnění odebrána, pokud je aplikace několik měsíců nepoužívána. Dialogové okno s požadavkem na oprávnění se v systému Android 11+ chová jinak než v nižších verzích. Oprávnění nemají vliv na výběr minSdk, takže nelze vydat žádné doporučení.

Notifikace

Oznámení byla v minulosti několikrát změněna, zejména v systémech Android 7 a 8. Nastavení a úroveň ovládání se v systému Android 8 (API 26) a vyšších liší od předchozích verzí. Pokud potřebujete minimální SDK nižší než 26, měli byste do svého odhadu zahrnout několik MD.

Doporučení: Pokud se chcete vyhnout podpoře starších verzí, zvolte minSdk 26 nebo vyšší.

Distribuce verzí systému Android

Úroveň SDK, kterou si vyberete, by měla vycházet ze zařízení, která vaše cílová skupina používá. Pokud vaše publikum používá především novější zařízení, můžete nastavit minimální úroveň SDK vyšší.

  • Globální distribuce verzí systému Android: Data z Android Studia (26. prosince 2022).
  • Regionální distribuce verzí systému Android: Údaje pro Českou republiku z 27.12.2022. Údaje pro Evropu z 27.12.2022.

Pro projekt bez zvláštních požadavků doporučujeme jako minimální verzi nastavit Android 8 (API 26).

tags: #upgrade #urovne #api #sdk #informace

Oblíbené příspěvky: