We use cookies on this page. View our Privacy Policy for more information.

Doporučená minimální verze SDK pro Android projekty

Nejste si jisti, jakou minimální podporovanou verzi systému Android zvolit pro svůj projekt? Tento článek vás provede různými faktory, které mají největší vliv na výběr minimálního SDK. Díky ucelenému přehledu těchto faktorů budete moci učinit informovanější rozhodnutí pro svůj projekt.

Doporučená minimální verze SDK pro Android projekty

Úvod

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. Společnost Google neposkytuje mnoho vodítek, pokud jde o nastavení verze, a jediné, co poskytuje, je distribuce verze při vytváření nového projektu. 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ě.

Podívejme se na jednotlivé faktory, které nejvíce ovlivňují minimální SDK.

Nejoblíbenější (podle počtu stažení) 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í. Zde je 15 nejstahovanějších aplikací [1] a jejich minimální podporované verze operačního systému Android (bez her):

Application Minimum Android version
WhatsApp 4.1
Facebook* 11
Facebook Messenger* 9
Instagram* 9
Snapchat 5
Spotify 5
UC Browser 4.1
Facebook Lite 8
Twitter 5
SHAREit 4.1
Viber 5
Netflix 7
MX Player 5
Skype 6
Telegram 6

*více verzí, starší pro nižší verze systému Android

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 is Android’s modern toolkit for building native UI. It simplifies and accelerates UI development on Android bringing your apps to life with less code, powerful tools, and intuitive Kotlin APIs. It makes building Android UI faster and easier. While creating Compose we worked with different partners who experienced all of these benefits first hand and shared some of their takeaways with us. [2]

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 [3]. V průměru jsou verze systému Android podporovány po dobu 3,3 roku [4,5]. 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 [6].

Čím starší je verze, tím větší je pravděpodobnost, že bude vystavena bezpečnostním problémům.

The reason the old dumb phones are less vulnerable is because they're no longer attractive targets, not because of any inherent superiority. — Tom’s Guide, Anthony Spadafora [7]

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

  • 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 [9].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í [10]. 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šší. Pokud však vaše publikum používá kombinaci starších a novějších zařízení, pravděpodobně budete muset nastavit nižší úroveň SDK, abyste zajistili, že vaše aplikace bude kompatibilní se širší škálou zařízení.

Distribuce našich aplikací

Všechny aplikace mají více než 95% pokrytí systémem Android 9+ (api 28+).

App / Verze Androidu 13 12 11 10 9 8 7 6 5 and lower
Německá aplikace pro inteligentní správu klimatu 35% 29% 14% 14% 5% < 1% < 1% < 1% < 1%
Dudelo 18% 37% 23% 16% 4% 1% - - -
ISIC 16% 32% 23% 19% 7% 1% < 1% < 1% -
wflow 38% 29% 15% 13% 3% 1% - - -
wflow scanner 21% 33% 22% 14% 6% 2% 1% - -
Oriflame 5% 23% 28% 23% 10% 7% 1% < 1% < 1%

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 [11]

Údaje pro Evropu z 27.12.202 [12]

Závěr

Uvedli jsme několik doporučení, která je třeba zohlednit, ale jejich váha by se měla lišit v závislosti na konkrétní aplikaci, kterou vytváříme. Pro projekt bez zvláštních požadavků doporučujeme jako minimální verzi nastavit Android 8 (API 26). Zde jsou uvedeny důvody:

  • Zrychlený vývoj díky sadě nástrojů Jetpack Compose
  • Relativně nedávná poslední bezpečnostní záplata
  • Není třeba podporovat starší oznámení
  • Poměrně dobré globální pokrytí (88 %)
  • Dobré pokrytí v České republice (94 %) a v Evropě (92 %).
  • Všechny naše aplikace mají více než 95% pokrytí systémem Android 9+ (API 28+)

Sources

[1] https://www.makeuseof.com/tag/most-popular-android-apps/

[2]  https://developer.android.com/jetpack/compose/why-adopt

[3] https://en.wikipedia.org/wiki/Android_version_history#Overview

[4] https://stackoverflow.com/a/64340664/12321475

[5] https://source.android.com/docs/security/bulletin

[6] https://www.howtogeek.com/711886/what-are-android-security-updates-and-why-are-they-important/

[7] https://www.tomsguide.com/us/old-phones-unsafe,news-24846.html

[8] https://source.android.com/docs/security/overview/updates-resources#severity

[9] https://developer.android.com/about/versions/11/privacy/permissions#dialog-visibility

[10] https://developer.android.com/develop/ui/views/notifications#android_80_api_level_26

[11] https://gs.statcounter.com/android-version-market-share/mobile-tablet/czech-republic/#monthly-202111-202211-bar

[12] https://gs.statcounter.com/android-version-market-share/mobile-tablet/europe

AppCast

České appky, které dobývají svět

Poslouchejte recepty na úspěšné aplikace. CEO Megumethod Vráťa Zima si povídá s tvůrci českých aplikací o jejich businessu.

Gradient noisy shapeMegumethod CEO Vratislav ZimaMegumethod Scribble