Průvodce nastavením Android SDK pro vývoj aplikací
Abychom byli schopni tvořit aplikace, musíme si nejprve připravit potřebné nástroje a nastavit telefon. S tím by měla pomoci tato kapitola. Pusťme se tedy do toho!
Co vlastně potřebujeme?
V této kapitolce stručně shrneme kroky, které je potřeba provést. To nám usnadní správu projektu a psaní kódu. V našem případě použijeme prostředí Android Studio.
Samotný překlad zařídí balík Android SDK (Software Development Kit). V případě Android Studia se nainstaluje SDK spolu s vývojovým prostředím, nemusíme se tedy o nic starat. U jiných vývojových prostředí je často třeba SDK doinstalovat ručně. Pro překlad je třeba zvolit, pro jakou cílovou verzi Androidu chceme aplikaci přeložit. Musíme také zvolit platformu (ARM, Intel,…). Tyto volby provedeme v nástroji SDK Manager, ve vývojovém prostředí (IDE).
Dále budeme potřebovat nastavit telefon. Aplikace budeme zkoušet (ladit) přímo v našem telefonu.
Instalace Android Studia a SDK
K dispozici jsou instalační balíčky pro tři nejběžnější operační systémy (Windows, Mac OS X a GNU/Linux). My budeme používat prostředí operačního systému Windows. Android SDK se stáhne a nainstaluje společně s Android Studiem, můžeme tedy pokračovat volbou cílové platformy a instalací odpovídajících balíčků. Pokud budeme spouštět aplikace pouze v mobilu, nemusíme instalovat žádné obrazy systému (systém images) a ušetříme tak až několik GB místa na disku.
Čtěte také: Jak skrýt navigační lištu na Samsungu a Good Lock
Spustíme Android Studio a na úvodní obrazovce zvolíme Configure → SDK Manager. Z nabídky zvolíme jednu z nabízených cílových platforem a ponecháme zatrženy i Android Tools a Android Platform Tools. Počítejte s tím, že instalace bude trvat dlouho. Probíhá stažení velikého množství dat (obrazy zvoleného systému pro zvolené platformy).
Nastavení Android SDK
SDK Manager je nástroj v Android Studiu, který umožňuje spravovat nainstalované komponenty Android SDK. Otevřete SDK Manager. Pokud jsou pro komponenty k dispozici aktualizace, uvidíte příslušnou značku. V sekci „SDK Platforms“ si můžete vybrat další verze Androidu ke stažení.
Platform Tools obsahuje sadu nástrojů, které se používají pro vývoj a ladění. To zahrnuje mimo jiné ADB (Android Debug Bridge), který umožňuje interakci se zařízeními a emulátory.
Běžné problémy a řešení
Během instalace Android SDK a dalších nástrojů se uživatelé mohou setkat s řadou běžných problémů. Jedním z nejčastějších problémů je chyba při stahování komponent SDK. To se může stát z různých důvodů, včetně špatného internetového připojení nebo selhání serveru Google. V tomto případě byste měli nejprve zkontrolovat připojení k internetu a ujistit se, že je stabilní.
Dalším častým problémem je konflikt verzí různých nástrojů. Pokud jste nainstalovali novou verzi jedné z komponent SDK, nemusí být kompatibilní s jinými nainstalovanými nástroji nebo pluginy.
Čtěte také: Tipy pro vylepení notifikačního centra Androidu
Nastavení telefonu
Tato část návodu je nejzrádnější, protože je závislá na konkrétním typu mobilního telefonu. V případě, že následující návod nebude fungovat, zkuste hledat na internetu.
Co potřebujeme?
- Zapnout vývojářský režim (USB Debugging Mode) v mobilním telefonu.
- Nainstalovat do počítače ovladače pro spouštění aplikace v mobilním telefonu.
- Připojit telefon USB kabelem a ověřit funkčnost propojení.
Ovladač najdete na stránkách výrobce telefonu. Nyní připojte telefon USB kabelem k počítači. V mobilním zařízení by se měla objevit možnost povolit ladění aplikací z tohoto počítače. Možnost potvrďte. Od této chvíle byste měli mít připraveno vše potřebné.
Vytvoření a publikování vlastního SDK
Vytvoření znovu použitelných nástrojů je součástí práce profesionálního vývojáře pro Android. Mnozí z nás postupem času shromáždí užitečné třídy, wrappery a interní pomocné nástroje, které by se snadno daly sdílet mezi projekty - přesto často zůstávají pohřbeny ve složce utils jedné aplikace.
Cílem je projít celým procesem vytváření a publikování vlastního SDK - od nápadu po veřejné použití. Bez magie, bez skriptů, bez skrytých kroků. Vytvoříme malé, ale praktické SDK - lehký TimeTracker - a použijeme ho k prozkoumání:
Čtěte také: Nastavení horní lišty Androidu
- Vytvoření čistého modulu knihovny.
- Navržení znovu použitelného veřejného API.
- Publikování SDK na GitHub + JitPack.
- Integrace do skutečné aplikace založené na Compose.
- Psaní dokumentace a příkladů.
Pro publikování používám JitPack, který sestaví vaše SDK přímo z GitHub repozitáře. Je to ideální pro interní nástroje, vedlejší projekty, open-source knihovny nebo dokonce produkční SDK, které nevyžadují plnou přísnost Maven Central.
Krok 1 - Nastavení projektu a modulu knihovny
Prvním krokem je vytvoření nového projektu Android, kde budeme naše SDK sestavovat. V reálných případech byste mohli extrahovat funkčnost SDK z existující aplikace, ale zde začneme s čistým štítem, abychom se soustředili čistě na strukturu.
Použijeme Android Studio k:
- Vytvoření nového Android projektu.
- Přidání samostatného modulu knihovny, který se stane naším SDK.
- Udržování kódu SDK plně izolovaného a znovu použitelného.
Tip: Použití modulu knihovny pomáhá oddělit zájmy - vaše aplikace zůstává konzumentem a vaše SDK se stává poskytovatelem.
1. Vytvoření nového Android projektu
Otevřete Android Studio a zvolte „New Project“ → No Activity. Projekt můžete pojmenovat například TimeTrackerSDK. Použijte Kotlin jako jazyk a nastavte minSdk na 21 nebo vyšší.
2. Přidání nového modulu: Android Library
Jakmile je základní projekt vytvořen:
- Přejděte na File > New > New Module…
- Vyberte Android Library.
- Nastavte název modulu na timetracker.
- Nastavte název balíčku na něco jako com.example.timetracker.
- Klikněte na Finish.
Tím se vytvoří samostatný modul, který lze kompilovat do souboru .aar a publikovat nezávisle.
Bonus: Toto SDK můžete ponechat v monorepu nebo ho později extrahovat do vlastního GitHub repozitáře. Oba přístupy jsou platné, v závislosti na potřebách vašeho projektu.
Krok 2 - Psaní logiky SDK a veřejného API
S nastaveným modulem knihovny je čas napsat skutečnou logiku SDK. Udržíme to jednoduché: lehký nástroj, který měří, jak dlouho trvá provedení určitých bloků kódu.
Cílem je poskytnout čisté a znovu použitelné API, které vývojáři mohou jednoduše vložit do jakéhokoli projektu s nulovým nastavením a plnou kontrolou nad logováním a bezpečnost produkce.
1. Vytvoření vstupního bodu SDK
Uvnitř modulu timetracker vytvořte nový Kotlin soubor: timetracker/src/main/java/com/example/timetracker/TimeTracker.kt.
package com.example.timetrackerimport android.util.Log/** * TimeTracker je lehký nástroj pro měření doby provádění bloků kódu nebo operací. * Lze jej použít jak ve vývojovém, tak v produkčním prostředí. */object TimeTracker { private val startTimes = mutableMapOf() private val durations = mutableMapOf() /** Povolit nebo zakázat globální sledování. */ var isEnabled: Boolean = true /** * Volitelný vlastní logger. * Výchozí: loguje do Logcatu s tagem "TimeTracker" */ var logger: ((String, String) -> Unit)? = { tag, message -> Log.d(tag, message) } /** Spustí sledování tagu */ fun start(tag: String) { if (!isEnabled) return startTimes[tag] = System.currentTimeMillis() logger?.invoke("TimeTracker", "Spuštěn časovač pro [$tag]") } /** Zastaví sledování tagu a vypočítá dobu trvání */ fun stop(tag: String) { if (!isEnabled) return val startTime = startTimes[tag] if (startTime != null) { val duration = System.currentTimeMillis() - startTime durations[tag] = duration logger?.invoke("TimeTracker", "Zastaven časovač pro [$tag], trvání: ${duration}ms") } else { logger?.invoke("TimeTracker", "Nebyl nalezen čas spuštění pro tag: $tag") } } /** Vrátí dobu trvání v milisekundách pro tag, nebo null, pokud není k dispozici */ fun getDuration(tag: String): Long? { return if (isEnabled) durations[tag] else null } /** Zaloguje všechny zaznamenané doby trvání */ fun printAllDurations() { if (!isEnabled) return durations.forEach { (tag, duration) -> logger?.invoke("TimeTracker", "[$tag] trvalo ${duration}ms") } } /** Vymaže všechny časy spuštění a doby trvání */ fun reset() { startTimes.clear() durations.clear() logger?.invoke("TimeTracker", "Všechny časovače vymazány") } /** * Automaticky měří dobu provádění bloku kódu. * Použití: * TimeTracker.measure("load_data") { * // Vaše logika * } */ inline fun measure(tag: String, block: () -> T): T { start(tag) val result = block() stop(tag) return result }} 2. Co toto SDK dělá
- start(tag) - Začne sledovat pojmenovaný blok kódu.
- stop(tag) - Zastaví sledování a zaznamená dobu trvání.
- getDuration(tag) - Vrátí dobu trvání v milisekundách.
- measure(tag) { ... } - Automaticky obalí blok kódu a zaloguje dobu trvání.
- isEnabled - Umožňuje globální povolení/zakázání celého SDK (užitečné pro release buildy).
- logger - Plug-in funkce pro logování pro přesměrování výstupu do Logcatu, Crashlytics atd.
3. Proč se to kvalifikuje jako SDK
Na první pohled to může vypadat jako utilitární třída - ale je to víc:
- Zapouzdřuje svůj vlastní interní stav.
- Poskytuje veřejné API bez externích závislostí.
- Může být použito napříč jakýmkoli projektem bez úprav.
- Podporuje produkční přepínače a injekci logování.
To je to, co z něj dělá SDK: je to hotový, vkládací nástroj, který funguje nezávisle na architektuře vaší aplikace.
Krok 3 - Publikování SDK pomocí JitPack
Nyní, když vaše SDK funguje lokálně, dalším krokem je učinit ho znovu použitelným v jiných projektech. Existuje několik způsobů, jak publikovat Android SDK - můžete tlačit do interního Maven repozitáře, nahrát na Maven Central nebo distribuovat soubor .aar ručně.
Ale pro open-source nebo lehké veřejné knihovny je JitPack zdaleka nejjednodušší a nejrychlejší způsob, jak publikovat přímo z GitHubu - s nulovým boilerplate.
Co je JitPack?
JitPack je bezplatná služba, která sestaví váš GitHub repozitář na vyžádání a slouží jako Maven/Gradle závislost. Označíte vydání, JitPack ho sestaví a kdokoli ho může importovat pomocí:
implementation 'com.github.username:repository:tag'
Je ideální pro:
- Open-source utility a nástroje.
- Demo knihovny.
- Interní SDK.
- Rychlé experimenty, které nepotřebují Maven Central.
1. Označení vydání
JitPack sestavuje vaši knihovnu na základě tagů. Jakmile je váš kód na GitHubu, vytvořte tag vydání:
git tag v1.0.0git push origin v1.0.0
Tento tag bude použit jako verze v Gradle.
2. Dokončeno. Používáte své vlastní SDK!
Nyní můžete volat TimeTracker.start(), TimeTracker.measure() atd. v jakémkoli projektu - stejně jako jakoukoli jinou závislost. Toto nastavení je plně reprodukovatelné. Pokaždé, když nahrajete nový tag, JitPack automaticky sestaví a doručí novou verzi.
Pro knihovny v produkčním měřítku nebo SDK určené pro širokou veřejnou distribuci (jako na Maven Central) budete chtít formálnější nastavení - s podepisováním artefaktů, metadaty a hostingem. Ale pro většinu případů je JitPack více než dostatečný.
Krok 4 - Použití SDK ve skutečné aplikaci založené na Compose
S SDK publikovaným a dostupným přes JitPack je čas ho otestovat v reálném projektu. V tomto kroku:
- Vytvoříme jednoduchou aplikaci Jetpack Compose.
- Importujeme SDK jako závislost.
- Použijeme TimeTracker k měření doby nastavení obrazovky a provádění logiky.
- Zalogujeme výsledky pomocí Logcatu.
1. Přidání závislosti SDK
Otevřete app/build.gradle a přidejte:
dependencies { implementation("com.github.yourname:TimeTrackerSDK:v1.0.0")}Nahraďte yourname vaším skutečným uživatelským jménem na GitHubu. Synchronizujte projekt.
2. Použití SDK ve vaší MainActivity.kt
Zde je příklad, jak byste mohli použít TimeTracker uvnitř aktivity Compose k měření doby nastavení obrazovky:
class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // Povolit sledování pouze v režimu ladění TimeTracker.isEnabled = BuildConfig.DEBUG TimeTracker.logger = { tag, msg -> Log.d(tag, msg) } // Změřit, jak dlouho trvá nastavení obrazovky TimeTracker.measure("MainScreenSetup") { setContent { TimeTrackerDemoAppTheme { Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding -> Greeting( name = "Compose", modifier = Modifier.padding(innerPadding) ) } } } } }}Když spustíte aplikaci, měli byste vidět výstup podobný tomuto v Logcatu:
Toto je dostatečné pro vysvětlení, co to je, jak to nainstalovat a jak to používat. Zde je aktuální README z TimeTrackerSDK. Namísto vymýšlení falešného příkladu, zde je skutečný README.md z GitHub repozitáře, který jsem vytvořil jako součást tohoto článku: TimeTrackerSDK. Zahrnuje instalaci přes JitPack, použití v aktivitách, ViewModelech a Jetpack Compose, tipy pro produkci a skutečné příklady kódu.
| Krok | Popis | Důležité body |
|---|---|---|
| 1. Instalace Android Studia | Stáhněte a nainstalujte Android Studio, které obsahuje Android SDK. | Dostupné pro Windows, macOS, GNU/Linux. Automatická instalace SDK. |
| 2. Konfigurace SDK Manageru | Spusťte Android Studio, přejděte na Configure → SDK Manager. | Vyberte cílové platformy a ujistěte se, že jsou zaškrtnuty Android Tools a Platform Tools. Instalace může trvat dlouho. |
| 3. Nastavení telefonu pro ladění | Povolte režim ladění USB (Developer Options) na svém telefonu. | Nainstalujte ovladače výrobce telefonu. Připojte telefon USB kabelem a povolte ladění z PC. |
| 4. Vytvoření modulu knihovny (volitelné) | Vytvořte nový Android projekt a přidejte modul typu "Android Library". | Izoluje kód SDK, umožňuje snadnou distribuci. |
| 5. Psaní logiky SDK (volitelné) | Napište kód pro vaše SDK, navrhněte čisté API. | Příklad: TimeTracker pro měření času. |
| 6. Publikování SDK pomocí JitPack (volitelné) | Nahrajte kód na GitHub a vytvořte release tag. | JitPack automaticky sestaví knihovnu z tagu, snadná integrace přes Gradle. |
| 7. Integrace SDK do aplikace (volitelné) | Přidejte závislost na SDK do souboru build.gradle vaší aplikace. | Použijte kód SDK ve své aplikaci, např. v MainActivity.kt. |

