Vytvoření emulátoru Android, nastavení AVD. Instalace Android Studio, nastavení SDK

1. Musíte nainstalovat JDK (Java Development Kit) a JRE (Java Runtime Environment).
Dříve Android SDK podporovalo pouze JDK verze 6, ale to je nyní minulostí. 7 a dokonce i 8 jsou podporovány (aspoň jsem uvedl 8. verzi jako JAVA_HOME a v nastavení Android Studio a nezaznamenali žádné problémy).
JRE je potřeba pro provoz samotného studia. Používám verzi 7.
Verze JDK a JRE vyšší než 6 si můžete stáhnout z webu Oracle.

Variabilní JAVA_HOME Nyní, jak se zdá, není potřeba jej instalovat, protože v Android Studiu uvedeme cestu k JDK v nastavení. Ale nainstaloval jsem to. K tomu potřebujete:

  • Jít do , vyberte vlevo , v dialogovém okně, které se otevře, najděte tlačítko Proměnné prostředí.
  • Vytvořte systémovou nebo uživatelskou proměnnou JAVA_HOME a zadejte pro něj cestu k JDK. Mám tuto cestu: C:\Program Files\Java\jdk1.8.0_05.
2. Pokud máte nainstalovanou Android SDK.
Android Studio přichází s vlastní Android SDK. A pokud to chcete použít, pak se v některých případech mohou stát podivné věci. Například při aktualizaci SDK přes SDK Manager byly některé soubory zapsány do staré složky a problémy nastaly, když jsem tuto složku smazal. S největší pravděpodobností se to stalo proto, že v registru byl uložen klíč s cestou ke staré složce. Proto má smysl čistit registr. Chcete-li to provést, musíte spustit regedit.exe a najít HKEY_LOCAL_MACHINE\Software\Android SDK Tools pro 32bitové stroje popř HKEY_LOCAL_MACHINE\Software\Wow6432Node\Android SDK Tools pro 64bitové stroje a odstraňte Nástroje Android SDK. Pokud v registru vašeho systému žádné takové klíče nejsou, je vše v pořádku.

Pokud máte nastavenou proměnnou prostředí ANDROID_SDK_HOME a chcete, aby ukazovala na starou instalaci, pak by to teoreticky neměl být problém, protože při nastavování Android Studia jej nasměrujeme na cestu k SDK. Problémy mohou nastat, pokud tuto proměnnou používá některá z aplikací obsažených v Android SDK.

3. Nyní přejdeme k instalaci Android Studia.
Musíte si stáhnout Android Studio pro váš systém z oficiální stránky a nainstalovat jej. Ve výchozím nastavení, pokud vyberete „Instalovat pouze pro mě“, bude umístěna do \Uživatelé\ \AppData\Local\Android\android-studio\, jinak vložte \Program FIles (x86)\Android\android-studio\. Můžete také vybrat jinou složku.

Po instalaci spusťte Android Studio.

Vidíme tento dialog


V něm provádíme následující:

Vytvoření projektu

1. Nový projekt
Klikněte Nový projekt.

Zobrazí se následující dialog


V něm můžete konfigurovat:
  • Název projektu (ponechal jsem jej jako výchozí: Moje aplikace)
  • Firemní doména, výchozí .example.com, v mém případě označeno.example.com
  • Název balíčku lze také upravit kliknutím na Upravit napravo. Ve výchozím nastavení se generuje z názvu projektu a domény společnosti a vypadá jako com.example. .<имя проекта в lowercase без пробелов>, я его изменил на com.example.markedone.myapp.
  • Cesta, kam bude projekt uložen. Zadal jsem svou složku pro všechny druhy testovacích projektů.
Když je vše zadáno, klikněte další.
2. Tvarové faktory
V tomto dialogu vyberte cílové platformy a rozhraní API.

Dialog vypadá takto


Zde jsem nechal vše jako výchozí: Telefon a tablet a 4.0.3 IceCreamSandwich. Pokud pro některé platformy není API nainstalováno, zobrazí se zpráva Not Insatlled. Například, jak můžete vidět na snímku obrazovky, nemám nainstalované knihovny pro Google Glass (to lze provést prostřednictvím Správce SDK).

Věnujte také pozornost Pomozte mi vybrat, skvělé věci

Pokud stisknete Pomozte mi vybrat, pak se otevře tento zajímavý dialog


Obsahuje informace o pokrytí zařízení při výběru konkrétní verze API. Na obdélníky verzí API lze kliknout a napravo se zobrazí seznam funkcí, které jsou v nich dostupné. Například pro výchozí Ice Cream Sandwich:



Klikněte další.
3. Přidat aktivitu

Na další obrazovce jsme vyzváni k výběru Aktivita


Přirozeně jsem nemohl opomenout Celoobrazovkovou aktivitu a vybral jsem si ji. Můžete si vybrat jinou Aktivitu, ale v tomto případě se budou zdroje Java lišit a nativní volání metody z Javy si budete muset přidat sami (není na tom však nic složitého).
Vyberte si, klikněte další.

Zobrazí se následující dialog


Zde jsme požádáni o konfiguraci aktivity.
  • Název aktivity- název třídy, nechal jsem jej jako výchozí: Celoobrazovková aktivita.
  • Název rozvržení- rozvržení názvu pro editor uživatelského rozhraní je také ponecháno jako výchozí.
  • Titul- FullscreenActivity je standardně nabízena, vložil jsem mezeru: Celoobrazovková aktivita.
Klikněte Dokončit.

V důsledku toho by se měl projekt otevřít

Sestavit a spustit

1. Sestavte projekt
Montáž spustíme přes menu: Build->Make Project(Ikony a klávesové zkratky jsou označeny u položek nabídky, takže nebude těžké jim porozumět).
Během mého prvního sestavení jsem dostal chybu:

Stalo se to v souboru MyApplication/app/build.gradle
Abyste pochopili, co se děje, umístěte kurzor na podtržený řádek:


Je to jednoduché, je zde uvedena verze 19, ale máme nainstalovaných pouze 20 a v nastavení projektu jsme určili 20 jako cíl. Jen změníme číslo:


S tím se studio zjevně nespokojilo a nabízí instalaci ještě novější verze. Ale to teď nepotřebujeme.

Spustíme znovu Build->Make Project. Tentokrát jsem dal všechno dohromady. Doufám, že vy taky.

2. Nastavení virtuálního zařízení
Chcete-li spustit program v emulátoru, musíte nakonfigurovat virtuální zařízení. Pojďme Nástroje->Android->Správce AVD(stejně jako SDK Manager je to nástroj ze sady Android SDK). Potřebujeme první záložku, Virtuální zařízení Android, je ve výchozím nastavení otevřená. Vpravo najdeme tlačítko Vytvořit... a stiskněte jej.

Zobrazí se dialogové okno nastavení virtuálního zařízení.



Ve spodní části dialogu uvidíte, jakou chybu jste udělali při nastavování. Například do názvu zařízení nelze zadávat mezery a některá pole jsou povinná. Pokud níže není žádný nápis, je vše zadáno správně. Klikněte OK.

Zařízení se objeví v seznamu


Několik slov o kartě Definice zařízení


Jsou na něm specifikována dostupná zařízení (ta, která se pak zobrazí v rozevíracím seznamu přístroj při vytváření nového virtuálního zařízení). Chcete-li vytvořit nové zařízení, musíte kliknout na tlačítko Vytvořit zařízení... a postarejte se o vyplnění následujícího dialogu:



Zavřete AVD Manager a vraťte se do hlavního okna Android Studio.
3. Spusťte na emulátoru
Provádíme Spustit->Spustit "aplikaci".
Se spuštěním budete muset počkat, až bude projekt postaven.

Nakonec se objeví okno pro výběr zařízení


Zde je jedinou dostupnou možností na výběr naše virtuální zařízení. Je nám to nabízeno hned, tak stačí kliknout OK.

Emulátor se spustí, trvá to docela dlouho


Lze otevřít Nástroje->Android->Monitor zařízení Android(nástroj ze sady Android SDK) k zobrazení protokolů z emulátoru. Mělo by automaticky vyzvednout virtuální zařízení a okamžitě začít vydávat protokoly.

Monitor zařízení Android


Po spuštění emulátoru se mi ale aplikace napoprvé neotevřela, musel jsem klikat znovu Spustit->Spustit "aplikaci".

Objevil se mírně pozměněný dialog

Zde se zařízení přesunulo ze seznamu ke spuštění do seznamu již spuštěných. Tento seznam samozřejmě zahrnuje i skutečná zařízení.

Poté to šlo dobře a aplikace se nainstalovala a spustila docela rychle.

Režim celé obrazovky

A pokud klepnete na aplikaci, vypadá to takto

Toto není chování systému; ke zpracování kliknutí dochází v aplikaci (soubor FullscreenActivity.java):
// Nastavení uživatelské interakce pro ruční zobrazení nebo skrytí uživatelského rozhraní systému. contentView.setOnClickListener(new View.OnClickListener() ( @Override public void onClick(View view) ( if (TOGGLE_ON_CLICK) ( mSystemUiHider.toggle(); ) else ( mSystemUiHider.show(); ) ) ); Po spuštění mě Android Studio vyzvalo, abych vypnul Android Device Monitor za účelem integrace výstupu přímo do IDE.

Takhle vypadá integrace

4. Spusťte v režimu ladění
Spustit->Ladit "aplikaci"

Opět známý dialog

Čekáme na spuštění aplikace a připojení debuggeru. Nastavím bod přerušení při kliknutí na Dummy Button.

Android Studio v ladění


Trochu nepříjemný je nedostatek panelů se všemi druhy Step Into, Step Out atd.

To vše je v nabídce Run

5. Spusťte 4.0.3
Během procesu vytváření a spouštění projektu jste si mohli všimnout, že jsme vytvořili aplikaci, která byla kompatibilní s verzí 4.0.3, ale spustili ji pouze na nejnovější verzi Androidu. Teď to napravíme. Chcete-li to provést, musíte nainstalovat verzi 4.0.3 přes Nástroje->Android->Správce SDK.

Potřebné položky jsou na snímku obrazovky označeny zaškrtnutím.


Tento Platforma SDK, Obrázek systému ARM EABI v7a A Obrázek systému Intel x86 Atom. Ve skutečnosti jsme provozovali emulátor ARM a nyní nepotřebujeme instalovat Intel. Nainstaloval jsem ho čistě proto, že je nainstalován i pro Android L.
Nyní vytvoříme další zařízení pro novou starou verzi Androidu (nebo můžete upravit starou).

Nové nastavení zařízení


Zahájení ( Spustit->Spustit "aplikaci").

V dialogovém okně vyberte nové zařízení, které chcete spustit


A podívejme se, jak nový emulátor vypadá – je jednoznačně brutálnější.

Zahájení

Režim celé obrazovky

Po kliknutí

5. Spusťte na zařízení
Než začneme s NDK, spusťte projekt na skutečném zařízení. Spustím to na svém telefonu

Huawei Ascend G300 s Androidem 4.0.3


První věc, kterou musíte udělat, je nainstalovat ovladač adb. Vše je pro mě celkem jednoduché, ovladač se nachází přímo v telefonu, jediné, co musíte udělat, je zapojit kabel do počítače, přejít na připojený disk a spustit spustitelný soubor, který nainstaluje ovladač adb. U jiných zařízení to může být složitější. Například u tabletu Prestigio jsem kdysi musel zaregistrovat Vendor ID do speciálního souboru (aby byl použit standardní ovladač od Googlu), Samsung potřeboval vlastní Kies, pro HTC byl samostatný ovladač a tak dále. Obecně platí, že budete muset přijít na to, jak nainstalovat ovladač pro vaše zařízení sami.

Po instalaci ovladače musíte na zařízení povolit ladění USB. Na mém telefonu, abych to udělal, musím jít Nastavení->Pro vývojáře->Ladění USB. Ale pro různá zařízení a také sestavení a verze Androidu se umístění této položky nabídky může lišit.

Nyní bude mít telefon Android SDK a nainstalují se vyvíjené aplikace. Pro Huawei to však není vše: z telefonu nepřicházejí žádné protokoly, musíte je povolit.

Jak povolit protokoly na Huawei

Vytočte jako telefonní číslo: *#*#2846579#*#*
Zobrazí se servisní menu.
Jít do ProjectMenu->Background Setting->Log Setting
OTEVŘENO Přepínač protokolu a nainstalovat tam NA.
OTEVŘENO Nastavení úrovně protokolu a nastavte požadovanou úroveň protokolování (nastavil jsem podrobný).
Restartujte telefon.


Nyní můžete aplikaci spustit na svém zařízení: Spustit->Spustit "aplikaci"

V dialogovém okně pro výběr zařízení se objeví skutečné zařízení


Spustíme na telefonu.

Výsledek spuštění.

Aplikace na výšku:

Aplikace na šířku:

Instalace a konfigurace Android NDK

1. Instalace NDK
Android SDK, jak jsme již zjistili, je součástí sady Android Studio, ale NDK nikoli. Stáhněte si NDK vhodné pro váš systém odtud. Archiv rozbalíme a vložíme do nějaké složky, například in D:\ndk, takže soubor ndk-build.cmd ležet přímo v něm. Důležité: Je nutné, aby v cestě k NDK nebyly žádné mezery.
2. Přidejte proměnnou ANDROID_NDK_HOME
Pojďme Ovládací panely\Systém a zabezpečení\Systém, vyberte vlevo Pokročilé systémové nastavení, v dialogovém okně, které se otevře, klikněte na tlačítko Proměnné prostředí. Vytvořte proměnnou s názvem ANDROID_NDK_HOME a význam D:\ndk(cesta k vašemu NDK).

Alternativně můžete místo zadání globální proměnné zadat cestu k ndk v souboru místní.vlastnosti vašeho projektu (přímo v kořenové složce: MyApplication\local.properties). Obsah souboru bude vypadat nějak takto (pozor na dvojitá zpětná lomítka, protože to je pro Windows kritické):
## Tento soubor automaticky generuje Android Studio. # Tento soubor neupravujte -- VAŠE ZMĚNY BUDOU VYMAZÁNY! # # Tento soubor by *NEMĚL* být kontrolován systémem správy verzí, # protože obsahuje informace specifické pro vaši místní konfiguraci. # # Umístění sady SDK. Toto používá pouze Gradle. # Pro přizpůsobení při použití systému správy verzí si prosím přečtěte # poznámku k záhlaví. sdk.dir=C:\\Users\\ \\AppData\\Local\\Android\\android-studio\\sdk ndk.dir=D:\\ndk
Nevěřte prohlášení o „vaše změny budou zahozeny“, v tomto případě to není pravda. Vezměte prosím na vědomí, že se doporučuje vyloučit tento soubor ze správy verzí, protože obsahuje pouze místní informace pro uživatele. V tomhle nám pro změnu nelhali. Tato změna samozřejmě nijak neovlivní vaše další projekty. Při instalaci ANDROID_NDK_HOME V local.properties není nutné zadávat cestu.

3. Nainstalujte požadovanou verzi Android API
Jít do NDK\platformy(Mám tohle D:\ndk\platformy) a podívejte se na maximální verzi dostupných rozhraní API. V mém případě je maximální verze 19. Ale zároveň máme v SDK nainstalované pouze verze 20 a 15 Takže jdeme do SDK Manageru a stáhneme SDK Platform verze 19, jinak nebude nic fungovat.

Co stáhnout

4. Nakonfigurujte gradle pro práci s NDK
Informace jsem převzal z ukázek, můžete si je stáhnout. Stáhl jsem si ukázky pro verzi 0.11. Jako hlavní příklad jsem vzal ndkSanAngeles.

Jak spustit ndkSanAngeles

Po stažení vzorků je třeba je rozbalit. Poté musíte otevřít projekt ndkSanAngeles. Pro Android Studio je projekt složkou, takže ji musíte otevřít. K tomu provádíme Soubor->Otevřít nebo, pokud jste v uvítacím dialogu, Otevřete projekt. Složku ndkSanAngeles hledáme prostřednictvím dialogu pro otevření souboru.

Po otevření projektu byste se měli podívat na soubor build.gradle. Tady je originál:
buildscript ( repozitáře ( mavenCentral() ) závislosti ( classpath "com.android.tools.build:gradle:0.11.0" ) ) použít plugin: "android" android (kompilujteSdkVersion 19 buildToolsVersion "19.1.0" defaultConfig ( ndk ( moduleName " sanangeles" cFlags "-DANDROID_NDK -DDISABLE_IMPORTGL" ldLibs "GLESv1_CM", "dl", "log" stl "stlport_static" ) // Toto je skutečný kód verze aplikace. Získáme tak 1 000 000 hodnot true productFlavors ( x86 ( ndk ( abiFilter "x86") // toto je část s příchutí kódu verze. // U zařízení podporujících // obojí musí být vyšší než rameno, protože je preferováno x86. versionCode = 3 ) arm ( ndk ( abiFilter "armeabi-v7a" ) versionCode = 2 ) mips ( ndk ( abiFilter "mips") versionCode = 1 ) fat ( // fat binární, kód nejnižší verze má být // poslední možnost versionCode = 0 ) ) // vytvoří kód verze pro jednotlivé varianty applicationVariants.all ( varianta ->
A zde je upravená verze, aby bylo možné projekt sestavit ode mě:
buildscript ( repozitáře ( mavenCentral() ) závislosti ( classpath "com.android.tools.build:gradle:0.12.+" ) ) použít plugin: "android" android (kompilovatSdkVersion 19 buildToolsVersion "20.0.0" defaultConfig ( ndk ( moduleName " sanangeles" cFlags "-DANDROID_NDK -DDISABLE_IMPORTGL" ldLibs "GLESv1_CM", "dl", "log" stl "stlport_static" ) // Toto je skutečný kód verze aplikace. Získáme tak 1 000 000 hodnot true productFlavors ( x86 ( ndk ( abiFilter "x86") // toto je část s příchutí kódu verze. // U zařízení podporujících // obojí musí být vyšší než rameno, protože je preferováno x86. versionCode = 3 ) arm ( ndk ( abiFilter "armeabi-v7a" ) versionCode = 2 ) mips ( ndk ( abiFilter "mips") versionCode = 1 ) fat ( // fat binární, kód nejnižší verze má být // poslední možnost versionCode = 0 ) ) // vytvoření kódu verze pro jednotlivé varianty applicationVariants.all ( variant -> // získání jediné příchuti defchuťVersion = variant.productFlavors.get(0).versionCode // nastavení složeného kódu variant.mergedFlavor.versionCode = příchuťVersion * 1000000 + defaultConfig versionCode ))
Změny jsou následující:

  • O nesouladu verzí pluginu gradle ( classpath "com.android.tools.build:gradle:0.11.0") bude řečeno, když se pokusíte sestavit a nabídnete správné číslo verze. U mě je to 0,12.+.
  • zkompilujteSdkVersion 19 zůstává, protože je to maximální verze pro aktuální NDK.
  • buildToolsVersion změněno na 20. Nainstalované verze lze zobrazit ve Správci SDK a tam lze nainstalovat další.
Poté by se měl ndkSanAngeles znovu sestavit. Buďte opatrní a zkontrolujte verze, které jste nainstalovali.

V našem projektu musíme vybrat správný soubor build.gradle, protože jsou dva. Jde o to, že MyApplication je projekt a aplikace je projektový modul (nebo podprojekt) a pro každý mají svůj vlastní build.gradle. Nejprve se podívejme na soubor projektu

MyApplication->build.gradle

// Soubor sestavení nejvyšší úrovně, kam můžete přidat možnosti konfigurace společné pro všechny dílčí projekty/moduly. buildscript ( repository ( jcenter() ) závislosti ( classpath "com.android.tools.build:gradle:0.12.+" // POZNÁMKA: Neumisťujte sem závislosti své aplikace; patří // do jednotlivých souborů build.gradle modulu ) ) všechny projekty ( repozitáře ( jcenter() ) )


Z komentářů v kódu jasně vyplývá, že potřebujeme soubor modulu

MyApplication->app->build.gradle

aplikujte plugin: "com.android.application" android (kompilujteSdkVersion 20 buildToolsVersion "20.0.0" defaultConfig ( applicationId "com.example.markedone.myapp" minSdkVersion 15 targetSdkVersion 20 versionCode 1 versionName "1.0" verze runguardu) build getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" ) ) ) závislosti ( kompilace fileTree(dir: "libs", include: ["*.jar"]) // Musíte nainstalovat nebo aktualizovat Chcete-li tuto závislost používat, podpořte úložiště prostřednictvím správce SDK //compile "com.android.support:support-v4:19.+" zkompilujte "com.android.support:support-v4:20.+" )


Pojďme jej nakonfigurovat pro práci s NDK pomocí build.gradle od ndkSanAngeles jako „dárce“.

Nejprve vyměňme
zkompilujteSdkVersion 20
na
zkompilujteSdkVersion 19
protože NDK je omezena na verzi 19.

V defaultConfig přidáme nastavení ndk a také vyměnit targetSdkVersion v 19:
defaultConfig ( applicationId "com.example.markedone.myapp" minSdkVersion 15 targetSdkVersion 19 versionCode 1 versionName "1.0" ndk (modulName "myapp" cFlags "-DANDROID_NDK" ldLibs "log" stl "stlport_static" nastavení

  • název modulu- název modulu, bude použit pro pojmenování souboru *.so
  • cFlags- C vlajky
  • ldLibs- knihovny, které chcete připojit k nativnímu kódu
  • stl- Verze knihovny STL
V buildTypes povolíme ladicí sestavení JNI pro ladění:
buildTypes ( release ( runProguard false proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" ) debug.jniDebugBuild true )
Nyní přidáme produktPříchutě. Zde uvádíme, které knihovny *.so zahrnout do sestavení pro konkrétní architekturu. Tedy *.apk zkompilovaný pro arm bude obsahovat verzi knihovny pouze pro arm, pro x86 - pro x86 a tak dále. Tento kousek je kompletně zkopírován z ndkSanAngeles. Vysvětlení významů versionCode z komentářů: pro x86 nastavíme maximální hodnotu versionCode, protože pokud zařízení podporuje jak x86, tak rameno, pak je výhodnější sestava x86 (zřejmě, protože má větší verzi, bude nainstalována) a minimální versionCode předepsané pro Tlustý(teoreticky by se mělo jednat o „tlustý“ *.apk obsahující všechny možné verze knihoven najednou).
productFlavors ( x86 ( ndk ( abiFilter "x86") // toto je část s příchutí kódu verze. // Musí být vyšší než rameno pro zařízení podporující // obojí, protože je preferováno x86. versionCode = 3 ) arm ( ndk ( abiFilter "armeabi-v7a") versionCode = 2 ) mips ( ndk ( abiFilter "mips") versionCode = 1 ) fat ( // fat binární, kód nejnižší verze má být // poslední možnost versionCode = 0 ) )
„Sbírání“ významu versionCode pro každou možnost sestavení:
// vytvoření kódu verze pro jednotlivé varianty applicationVariants.all ( variant -> // získání jediné příchuti defchuťVersion = variant.productFlavors.get(0).versionCode // nastavení složeného kódu variant.mergedFlavor.versionCode = příchuťVersion * 1000000 + defaultConfig.versionCode)
Konečně poslední oddíl, závislosti. Pokud si vzpomínáte, tady jsme se změnili kompilace "com.android.support:support-v4:19.+" na kompilace "com.android.support:support-v4:20.+", stavět s jedinou verzí knihovny, která je na nás nainstalovaná. Nyní jej musíte změnit zpět na 19.
závislostí ( kompilovat fileTree(dir: "libs", include: ["*.jar")] // Chcete-li použít tuto závislost, musíte nainstalovat nebo aktualizovat úložiště podpory prostřednictvím správce SDK. kompilovat "com.android.support:support- v4:19.+")

Úplný seznam upraveného souboru build.gradle

použít plugin: "com.android.application" android (kompilujteSdkVersion 19 buildToolsVersion "20.0.0" defaultConfig ( applicationId "com.example.markedone.myapp" minSdkVersion 15 targetSdkVersion 19 versionCode 1 versionName "1.0"appme "ndk -DANDROID_NDK" ldLibs "log" stl "stlport_static" ) ) buildTypes ( release ( runProguard false proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" ) debug.jniDebugBuild true ) (x86Flavors abiFilter "x86" ) // toto je část kódu verze // Musí být vyšší než rameno pro zařízení podporující // obojí, protože je preferováno x86 versionCode = 3 ) arm ( ndk ( abiFilter "armeabi " -v7a" ) versionCode = 2 ) mips ( ndk ( abiFilter "mips") ) versionCode = 1 ) fat ( // fat binary, nejnižší kód verze má být // poslední možnost versionCode = 0 ) ) // vytvořit na variantu kód verze applicationVariants.all ( varianta -> // získání jediné varianty def aromaVersion = variant.productFlavors.get(0).versionCode // nastavení složeného kódu variant.mergedFlavor.versionCode = aromaVersion * 1000000 + defaultConfig.versionCode ) sourceSets ( main ( jni.srcDirs = ["src/main/jni", "src/main/jni/"] ) ) ) závislosti ( kompilace fileTree(dir: "libs", include: ["*.jar"]) // Chcete-li používat tuto závislost, musíte nainstalovat nebo aktualizovat úložiště podpory prostřednictvím správce SDK. kompilace "com.android.support:support-v4:19.+" )

5. Vytvořte složku jni
Soubory C/C++ uložíme do složky jni. To od nás NDK očekává. Musíme vytvořit složku MyApplication/app/src/main. To lze provést přímo z Android Studia, a to dvěma způsoby.
Za prvé, můžete kliknout pravým tlačítkem na hlavní a jednoduše vytvořit složku přes

Nový->Adresář


Za druhé, můžete použít speciální položku nabídky

Nový->Složka->Složka JNI

Spustí průvodce vytvořením složky




V prvním dialogu vybereme, pro kterou část modulu se složka jni vytvoří a ve druhém můžeme změnit její umístění.

6. Přidejte soubory C++
Pro soubory C++ neexistuje žádný průvodce, takže pro vytvoření souboru klikneme pravým tlačítkem na složku jni a vybrat si

Nový->Soubor


Nejprve si vytvoříme hlavičkový soubor myapp.h:
#pragma jednou #zahrnout #ifdef __cplusplus extern "C" ( #endif JNIEXPORT jstring JNICALL Java_com_example_markedone_myapp_FullscreenActivity_stringFromJNI(JNIEnv* env, jclass clazz); #ifdef __cplusplus ) #endif

Popis

  • #pragma jednou - namísto standardní (#ifndef/#define/#endif) ochrany proti opětovnému zapnutí. Nyní #pragma Once rozumí většina kompilátorů C++.
  • #zahrnout - zahrňte hlavičku JNI, abyste mohli používat typy, které jsou tam deklarovány.
  • #ifdef __cplusplus ... #endif - kód uvnitř bude zkompilován pouze v C++ (ale ne v C).
  • extern "C" ( ... ) - zbavit se mandlování jmen (co to je a proč, ).
  • JNIEXPORT jstring JNICALL Java_com_example_markedone_myapp_FullscreenActivity_stringFromJNI(JNIEnv* env, jclass clazz); - deklarace funkce, kterou budeme implementovat.
    Podívejme se na tento inzerát podrobněji.
    • JNIEXPORT nutné pro správné propojení.
    • JNICALL pro správnou konvenci volání.
    • jstring- návratový typ funkce, v tomto případě řetězec kompatibilní s řetězcem Java.
    • Java_com_example_markedone_myapp_FullscreenActivity_stringFromJNI- název funkce se skládá z:
      Jáva- jazyk, který vyvolává.
      com_example_markedone_myapp- toto je ID aplikace ( com.example.markedone.myapp).
      Celoobrazovková aktivita je název třídy Java, která obsahuje deklaraci metody představující nativní funkci.
      stringFromJNI- vlastně název funkce (takto to bude v Javě).
    • JNIEnv* env, jclass clazz - požadované parametry předané z Javy.
      JNIEnv* env je ukazatel na objekt představující prostředí JNI.
      jclass clazz je třída, která vlastní deklaraci nativní metody v Javě. Zde musíme provést rezervaci, že jclass clazz je pro statické nativní ( statický nativní) metoda. Pro nestatickou metodu budete muset napsat jobject obj .

Nyní vytvoříme implementační soubor myapp.cpp. Do něj napíšeme následující kód:
#zahrnout #zahrnout #include "myapp.h" JNIEXPORT jstring JNICALL Java_com_example_markedone_myapp_FullscreenActivity_stringFromJNI(JNIEnv* env, jclass clazz) ( std::string tag("GREETING"); std::string message("Dobrý den z C_ID++ tagu!"); .c_str(), "%s", message.c_str()); std::string jniMessage("Dobrý den z JNI!" return env->NewStringUTF(jniMessage.c_str());

Popis

  • #zahrnout - připojte log, pro který jsme dokonce přidali knihovnu ( ldLibs "log")
  • #include - pro std::string, který používáme ke kontrole přítomnosti STL.
    #include "myapp.h" - zahrneme náš hlavičkový soubor.
    JNIEXPORT jstring JNICALL Java_com_example_markedone_myapp_FullscreenActivity_stringFromJNI(JNIEnv* env, jclass clazz) ( ... ) - implementujte funkci deklarovanou v "myapp.h".
    std::string tag("POZDRAV"); std::string message("Ahoj z C++!"); - vytvořit řádky pro výstup do protokolu.
    __android_log_print(ANDROID_LOG_INFO, tag.c_str(), "%s", message.c_str()); - výstup do log. Upozorňujeme, že musíte zadat 4 parametry: typ zprávy v protokolu, značku, formát řetězce a nakonec samotnou zprávu.
    std::string jniMessage("Ahoj z JNI!"); - řetězec, který předáme Javě.
    return env->NewStringUTF(jniMessage.c_str()); - návratová hodnota, pomocí JNIEnv vytvoříme jstring z C-řetězce. Všimněte si, že nepotřebujeme konstrukci jako (*env)->, protože píšeme v C++, ne v C.
Nyní vytvoříme další soubor: stub.cpp a necháme jej prázdný. Faktem je, že pokud ponecháte pouze jeden soubor *.cpp ve složce jni, pak ndk-build vygeneruje chybu „žádné pravidlo pro vytvoření cíle“.
7. Přidejte volání nativní funkce z Javy
Otevřete soubor MyApplication/app/src/main/java/com.example.markedone.myapp.FullscreenActivity. Ve skutečnosti má rozšíření java a například com,markone a myapp jsou složky, ale Android Studio to skrývá.

Obsah souboru

balíček com.example.markedone.myapp; import com.example.markedone.myapp.util.SystemUiHider; import android.annotation.TargetApi; importovat android.app.Activity; importovat android.os.Build; import android.os.Bundle; importovat android.os.Handler; importovat android.view.MotionEvent; importovat android.view.View; /** * Příklad celoobrazovkové aktivity, která zobrazuje a skrývá systémové uživatelské rozhraní (tj. * stavový řádek a navigační/systémový řádek) s interakcí uživatele. * * @viz SystemUiHider */ public class FullscreenActivity rozšiřuje aktivitu ( /** * Zda má být systémové uživatelské rozhraní automaticky skryto po * (@link #AUTO_HIDE_DELAY_MILLIS) milisekundách. */ private static finální boolean AUTO_HIDE = true; /* * * Pokud je nastaveno (@link #AUTO_HIDE), počet milisekund, které se mají čekat po * interakci uživatele před skrytím uživatelského rozhraní systému */ private static final int AUTO_HIDE_DELAY_MILLIS = 3000 /** * Pokud je nastaveno, přepne uživatelské rozhraní systému . viditelnost při interakci V opačném případě * zobrazí viditelnost uživatelského rozhraní systému při interakci. ** * Instance (@link SystemUiHider) pro tuto aktivitu */ private SystemUiHider mSystemUiHider; @Override protected void onCreate(Bundle SavedInstanceState) ( super.onCreate(savedInstanceState); setContentView(R.layout .activity_full); final View controlsView = findViewById(R.id.fullscreen_content_controls); final View contentView = findViewById(R.id.fullscreen_content); // Nastavte instanci SystemUiHider pro ovládání uživatelského rozhraní systému pro // tuto aktivitu. mSystemUiHider = SystemUiHider.getInstance(this, contentView, HIDER_FLAGS); mSystemUiHider.setup(); mSystemUiHider .setOnVisibilityChangeListener(new SystemUiHider.OnVisibilityChangeListener() ( // Hodnoty uložené v mezipaměti. int mControlsHeight; int mShortAnimTime; @Override @TargetApi(Build.VERSION_CODES.2)Verze onVisibleBuhang_viditelné VERZE.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) ( // Pokud je k dispozici API ViewPropertyAnimator // (Honeycomb MR2 a novější), použijte jej k animaci // ovládacích prvků uživatelského rozhraní v rozvržení ve spodní části // obrazovky. if (mControlsHeight == 0) ( mControlsHeight = controlsView.getHeight(); ) if (mShortAnimTime == 0) ( mShortAnimTime = getResources().getInteger(android.R.integer.config_shortAnimTime); ) controlsView.animate() .translationY(visible ? 0: mControlsHeight).setDuration(mShortAnimTime); ) else ( // Pokud nejsou // API ViewPropertyAnimator k dispozici, jednoduše zobrazte nebo skryjte uživatelské // ovládací prvky v rozvržení. controlsView.setVisibility(visible ? View.VISIBLE: View.GONE); ) if (visible && AUTO_HIDE ) ( // Plánování hide(). delayedHide(AUTO_HIDE_DELAY_MILLIS); ) ) // Nastavení uživatelské interakce pro ruční zobrazení nebo skrytí uživatelského rozhraní systému contentView.setOnClickListener(new View.OnClickListener() ( @Override public void onClick. (Zobrazit zobrazení) ( if (TOGGLE_ON_CLICK) ( mSystemUiHider.toggle(); ) else ( mSystemUiHider.show(); ) ) ) // Při interakci s ovládacími prvky uživatelského rozhraní odložte všechny naplánované operace hide() //, abyste předešli prudkému chování odejde ovládacích prvků // při interakci s uživatelským rozhraním findViewById(R.id.dummy_button).setOnTouchListener(mDelayHideTouchListener ) @Override protected void onPostCreate(Bundle SaveInstanceState) ( super.onPostCreate)Trigger(savedIn hide). krátce poté, co byla // aktivita vytvořena, aby uživatel stručně upozornil, že // jsou k dispozici ovládací prvky uživatelského rozhraní. delayedHide(100); ) /** * Dotykový posluchač pro použití pro ovládací prvky uživatelského rozhraní v rozvržení ke zpoždění skrytí * uživatelského rozhraní systému. To má zabránit otřesnému chování ovládacích prvků * při interakci s uživatelským rozhraním aktivity. */ View.OnTouchListener mDelayHideTouchListener = new View.OnTouchListener() ( @Override public boolean onTouch(View view, MotionEvent motionEvent) ( if (AUTO_HIDE) ( delayedHide(AUTO_HIDE_DELAY_MILLIS); ) ) return false; Handler mHideHandler = new Handler(); Runnable mHideRunnable = new Runnable() ( @Override public void run() ( mSystemUiHider.hide(); ) ); /** * Naplánuje volání hide() v milisekundách, čímž zruší všechna * dříve naplánovaná volání. */ private void delayedHide(int delayMillis) ( mHideHandler.removeCallbacks(mHideRunnable); mHideHandler.postDelayed(mHideRunnable, delayMillis); ) )


Přidejme následující kód do třídy FullscreenActivity:
statický ( System.loadLibrary("myapp"); ) soukromý statický nativní Řetězec stringFromJNI(); Zde se nejprve načte knihovna a poté se deklaruje metoda stringFromJNI, což odpovídá naší funkci v C++. Všimněte si, že je deklarován jako statický (to ovlivňuje, co bude (jclass nebo jobject) jako druhý parametr funkce C++) a nativní. Není potřeba implementovat nativní metodu, to už jsme udělali v C++ a zbytek za nás udělá JNI.

Nyní již obecně můžeme volat naši funkci. Pokud jste si jako já vybrali FullscreenActivity, pak máme Dummy Button, které v podstatě nic nedělá. A dokonce už máme dotykový posluchač, i když ne nejlepší (bude volán mnohokrát, když je prst na obrazovce), ale abychom nevytvářeli zbytečný kód, používáme ho.

Nejprve přidáme do seznamu importu:
importovat android.widget.Button;
abyste mohli s tlačítkem normálně pracovat.

Pojďme najít následující kód:
View.OnTouchListener mDelayHideTouchListener = new View.OnTouchListener() ( @Override public boolean onTouch(View view, MotionEvent motionEvent) ( if (AUTO_HIDE) ( delayedHide(AUTO_HIDE_DELAY_MILLIS); ) return false; )
a přidejte několik řádků před návratem false .
View.OnTouchListener mDelayHideTouchListener = new View.OnTouchListener() ( @Override public boolean onTouch(View view, MotionEvent motionEvent) ( if (AUTO_HIDE) ( delayedHide(AUTO_HIDE_DELAY_MILLIS); (FromJNI final message = string = string message); )findViewById(R.id.dummy_button konečný Text = button.getText().toString(); if(message.equals(actualText)) ( button.setText("Dummy Button"); ) else ( button.setText); (zpráva);

Popis přidaného kódu

  • final String message = stringFromJNI(); - získáme řetězec z C++. Vše začalo voláním nativní metody.
  • final Button button = (Button)findViewById(R.id.dummy_button); - najít objekt tlačítka.
  • final String ActualText = button.getText().toString(); - vytáhněte aktuální text tlačítka.
  • if(message.equals(actualText)) - porovnejte řetězec získaný z C++ s textem tlačítka.
    • button.setText("Dummy Button"); - pokud jsou stejné, změňte text tlačítka na Dummy Button.
    • button.setText(zprava); - pokud se liší, pak je změníme na text získaný z C++.

Úplný seznam třídy upravené třídy

balíček com.example.markedone.myapp; import com.example.markedone.myapp.util.SystemUiHider; import android.annotation.TargetApi; importovat android.app.Activity; importovat android.os.Build; import android.os.Bundle; importovat android.os.Handler; importovat android.view.MotionEvent; importovat android.view.View; importovat android.widget.Button; /** * Příklad celoobrazovkové aktivity, která zobrazuje a skrývá systémové uživatelské rozhraní (tj. * stavový řádek a navigační/systémový řádek) s interakcí uživatele. * * @viz SystemUiHider */ public class FullscreenActivity rozšiřuje aktivitu ( static ( System.loadLibrary("myapp"); ) private static nativní String stringFromJNI(); /** * Zda má být systémové uživatelské rozhraní automaticky skryto po * (@link #AUTO_HIDE_DELAY_MILLIS) milisekundy */ private static finální boolean AUTO_HIDE = true; static final int AUTO_HIDE_DELAY_MILLIS = 3000 /** * Je-li nastaveno, přepne viditelnost uživatelského rozhraní systému při interakci. Jinak * zobrazí viditelnost uživatelského rozhraní systému při interakci */ private static finální boolean TOGGLE_ON_CLICK = true; (@link SystemUiHider#getInstance). ); setContentView(R.layout.activity_fullscreen); final View controlsView = findViewById(R.id.fullscreen_content_controls); final View contentView = findViewById(R.id.fullscreen_content); // Nastavte instanci SystemUiHider pro ovládání uživatelského rozhraní systému pro // tuto aktivitu. mSystemUiHider = SystemUiHider.getInstance(this, contentView, HIDER_FLAGS); mSystemUiHider.setup(); mSystemUiHider .setOnVisibilityChangeListener(new SystemUiHider.OnVisibilityChangeListener() ( // Hodnoty uložené v mezipaměti. int mControlsHeight; int mShortAnimTime; @Override @TargetApi(Build.VERSION_CODES.2)Verze onVisibleBuhang_viditelné VERZE.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) ( // Pokud je k dispozici API ViewPropertyAnimator // (Honeycomb MR2 a novější), použijte jej k animaci // ovládacích prvků uživatelského rozhraní v rozvržení ve spodní části // obrazovky. if (mControlsHeight == 0) ( mControlsHeight = controlsView.getHeight(); ) if (mShortAnimTime == 0) ( mShortAnimTime = getResources().getInteger(android. R.integer.config_shortAnimTime); ) controlsView.animate() .translationY(viditelné ? 0: mControlsHeight) .setDuration(mShortAnimTime); ) else ( // Pokud nejsou // API ViewPropertyAnimator k dispozici, jednoduše zobrazte nebo skryjte uživatelské // ovládací prvky v rozvržení. controlsView.setVisibility(visible ? View.VISIBLE: View.GONE); ) if (visible && AUTO_HIDE ) ( // Plánování hide(). delayedHide(AUTO_HIDE_DELAY_MILLIS); ) ) // Nastavení uživatelské interakce pro ruční zobrazení nebo skrytí uživatelského rozhraní systému contentView.setOnClickListener(new View.OnClickListener() ( @Override public void onClick. (Zobrazit zobrazení) ( if (TOGGLE_ON_CLICK) ( mSystemUiHider.toggle(); ) else ( mSystemUiHider.show(); ) ) ) // Při interakci s ovládacími prvky uživatelského rozhraní odložte všechny naplánované operace hide() //, abyste předešli prudkému chování odejde ovládacích prvků // při interakci s uživatelským rozhraním findViewById(R.id.dummy_button).setOnTouchListener(mDelayHideTouchListener ) @Override protected void onPostCreate(Bundle SaveInstanceState) ( super.onPostCreate)Trigger(savedIn hide). krátce poté, co byla // aktivita vytvořena, aby uživatel stručně upozornil, že // jsou k dispozici ovládací prvky uživatelského rozhraní. delayedHide(100); ) /** * Dotykový posluchač, který se má použít pro ovládací prvky uživatelského rozhraní v rozvržení ke zpoždění skrytí * uživatelského rozhraní systému. To má zabránit otřesnému chování ovládacích prvků * při interakci s uživatelským rozhraním aktivity. */ View.OnTouchListener mDelayHideTouchListener = new View.OnTouchListener() ( @Override public boolean onTouch(View view, MotionEvent motionEvent) ( if (AUTO_HIDE) ( delayedHide(AUTO_HIDE_DELAY_MILLIS); ) final String message (string message = button); ) final String message (Button)findViewById(R.id.dummy_button final String currentText = button.getText().toString( if(message.equals(actualText)) ( button.setText("Dummy Button"); ) else ( button); .setText(zpráva) return false; Handler mHideHandler = new Handler(); Runnable mHideRunnable = new Runnable() ( @Override public void run() ( mSystemUiHider.hide(); ) ); /** * Naplánuje volání hide() v milisekundách, čímž zruší všechna * dříve naplánovaná volání. */ private void delayedHide(int delayMillis) ( mHideHandler.removeCallbacks(mHideRunnable); mHideHandler.postDelayed(mHideRunnable, delayMillis); ) )

17. Sestavíme a spustíme projekt
První sestavení->Vytvořit projekt. V této fázi je část Java sestavena.
Poté Spustit->Spustit "aplikaci". A zde se před spuštěním aplikace sestaví část C++. Pokud jsou v něm nějaké chyby, zobrazí se o tom zpráva. Pokud nejsou žádné chyby, zobrazí se standardní dialog pro výběr zařízení a po kliknutí na OK se aplikace spustí.

Práce na skutečném zařízení

Výstup zprávy do protokolu

Závěr

Celkově se mi Android Studio líbilo. Integrace Android SDK je provedena poměrně těsně, někdy dokonce zapomenete, že se jedná o samostatné programy, které jsou spuštěny. Jsou tam nejrůznější zajímavé vychytávky, například Pomozte mi vybrat. Nový systém sestavování - Gradle - se mi líbil, ale má také jednu nevýhodu: je o něm velmi málo informací.

Je také zřejmé, že podpora pro NDK je stále vlhká, ale v tomto směru existuje pohyb. Opravdu doufám, že nakonec poskytnou plnou podporu pro vývoj C++.

P.S. Dosud nebylo nalezeno žádné ladění kódu C++.

Štítky:

  • android studio
  • gradle
  • android ndk
  • android
Přidat štítky

Android je bezplatný operační systém založený na Linuxu s programovacím rozhraním Java.

Pokud máte touhu vyvíjet aplikace pro telefony se systémem Android, musíte pečlivě připravit a nainstalovat všechny potřebné nástroje pro tuto práci.

Instalace Android Studio

Články se často přepracovávají, protože některé věci rychle zastarají. Nemohu ale sledovat všechno, takže pokud narazíte na rozdíly, budete muset na věci přijít sami.

Je důležité pochopit, že samotná aplikace je napsána v Javě (a nyní také v Kotlinu) a vývojové prostředí je zvoleno podle vašeho vkusu. To, co lze dělat v Android Studiu (nebo jeho větším bratrovi IntelliJ IDEA), lze provádět v Eclipse a dalších editorech. I když od roku 2016 oficiální podpora pro Eclipse skončila.

Instalační balíček pro studio si můžete stáhnout ze stránky https://developer.android.com/studio/index.html

Samotná instalace by neměla způsobit žádné problémy. Instalační balíček obsahuje požadované minimum. Někdy je potřeba spustit Android SDK Manager a zkontrolovat nové verze SDK prostřednictvím nabídky Nástroje | Android | Správce SDK:

Časem sami přijdete na to, co je potřeba nainstalovat a co není nutné. Nejprve odsouhlaste podmínky, které vám manažer standardně nabízí.

Uživatel z Bulharska napsal, že Win64 vyžaduje administrátorská práva při instalaci nebo aktualizaci. Mějte na paměti. V čistém systému se mě to na nic neptal.

Ve verzi studio 2.3 (možná starší) je nainstalován balíček OpenJDK, který je alternativou k JDK od Oracle. V nastavení studia je poznámka, že OpenJDK je doporučená volba, i když můžete zadat cestu ke standardnímu JDK. V každém případě budete mít Javu 8 bez ohledu na to, jakou možnost zvolíte.

Vytváření emulátorů

K ladění aplikací používáme emulátor telefonu – virtuální stroj, na kterém poběží naše aplikace. Můžete také použít skutečné zařízení.

Nyní, v době instalace, studio vytvoří jedno zařízení pro emulátor. Pokud tomu tak není, můžete vždy nainstalovat ručně. Můžete také přidat další zařízení pro různé verze Androidu, rozlišení obrazovky atd.

Chcete-li vytvořit emulátor telefonu, vyberte z nabídky Nástroje | Android | Správce AVD. Při prvním spuštění se zobrazí dialogové okno průvodce.

zmáčknout tlačítko Vytvořte virtuální zařízení a v novém okně vidíme sadu možných emulátorů, včetně hodinek. Stáhněte si potřebné emulátory. Pro začátek je docela vhodný jeden emulátor.

Zadejte libovolný popisný název, například Android4. Vyberte požadovanou verzi systému Android, velikost obrazovky atd.

V případě potřeby můžete vytvořit emulátory pro každou verzi OS a zkontrolovat funkčnost programu. Zbývající nastavení lze ponechat beze změny. Vždy se můžete vrátit do nastavení a znovu upravit. Často se doporučuje použít možnost Použít hostitelský GPU využít možností GPU. Tím se zvýší rychlost emulátoru. zmáčknout tlačítko OK.

Přidané emulátory budou uloženy ve správci emulátorů.

Pokud jste vytvořili několik emulátorů, vyberte ten, který potřebujete, a stisknutím tlačítka se zeleným trojúhelníkem spusťte emulátor. Ikona tužky umožňuje upravit nastavení. Obvykle se však emulátor nespouští samostatně. Když aplikaci spustíte, studio samo nabídne spuštění emulátoru.

Pamatujte, že virtuální počítače jsou ve výchozím nastavení uloženy ve složce uživatele a cesta ke složce by neměla obsahovat ruské znaky, aby se předešlo problémům.

Pokud stále spadnete do této pasti, dám odkaz na změnu uživatelské složky na angličtinu: http://www.cherneenet.ru/lokalnaj_zapis.html (děkuji čtenáři Evgeny Stepanovovi za nápovědu). Můžete také opravit ini soubor a zapsat cestu k virtuálnímu zařízení tak, aby v cestě nebyla žádná ruská písmena (podle toho je třeba přesunout i samotný soubor *.avd na jiné místo).

V závislosti na výkonu vašeho počítače možná budete muset chvíli počkat, než se nejprve načte emulátor. Emulátor Intel se načítá mnohem rychleji. Můžete také použít skutečný telefon. Obvykle používám starý telefon a emulátor pro nové verze Androidu.

Testování na reálném zařízení

Finální verzi aplikace je vhodné vyzkoušet na reálném zařízení. Počínaje Androidem 4.4 musíte na svém zařízení (tablet, telefon, hodinky) aktivovat vývojářský režim. Chcete-li to provést, přejděte do Nastavení, otevřete stránku „O telefonu“ a sedmkrát klikněte na řádek s číslem sestavení Číslo sestavení. Poté se v nastavení objeví nová položka Pro vývojáře nebo něco takového, pokud výrobce používá vlastní shell.

Jakmile otevřete stránku vývojáře, musíte povolit ladění USB. Zahrnuji i možnost Nevypínejte obrazovku. Některá zařízení vyžadují instalaci samostatného ovladače, vyhledejte informace na webu výrobce.

Práce v terminálovém režimu

Studio také umožňuje spouštět příkazy příkazového řádku v samostatném okně. Pro pohodlí byste si měli systém mírně přizpůsobit.

Mám nainstalovanou nelokalizovanou verzi Windows, takže některé body budou uvedeny v angličtině.

Pro Windows 7/8 otevřené Ovládací panel | Systém, zmáčknout tlačítko Pokročilé systémové nastavení. V novém okně klikněte na tlačítko Proměnné prostředí.

Najděte proměnnou Cesta na seznamu Systémové proměnné

Klikněte na tlačítko Upravit upravit proměnnou. Přidejte středník na konec řádku a poté zadejte cesty ke složce platformové nástroje A nástroje, které jsou součástí sady SDK. V mém případě to dopadlo takto:

;D:\Android\SDK\platform-tools;D:\Android\SDK\tools

Zavřete všechna okna (je lepší restartovat). Zkontrolujte, zda vše funguje správně. Spusťte příkazový řádek a zadejte příkaz:

Echo %path%

Měli byste vidět řádek se seznamem všech cest obsažených v proměnné Cesta, včetně toho vašeho.

Pro následující kontrolu zadejte příkaz:

Zobrazí se seznam parametrů příkazu.

Zkuste také příkaz:

Otevře se okno Správce SDK.

Pokud jste něco napsali špatně, příkazy nebudou rozpoznány a je třeba opravit chybu v psaní cesty.

Nyní provedeme tyto operace v samotném studiu. Spusťte studio a otevřete projekt (viz další lekce). Ve spodní části stavového řádku je záložka. Přepněte na něj. V okně terminálu zadejte některý z předchozích dvou příkazů.

Dokumentace

Nejnovější dokumentaci lze vždy nalézt na adrese developer.android.com. Pokud máte problémy s internetem, pak v podsložce /docs Jeho místní kopii můžete najít ve vaší nainstalované složce Android SDK (pokud jste instalaci neodmítli).

Instalace kočky

Tato položka není povinná, ale jak ukazuje praxe, mít kočku vám umožňuje dosáhnout rychlých výsledků při učení Androidu. Kočku si můžete vyzvednout na ulici, adoptovat z útulku, nebo koupit přes inzerát. Bude se hodit jakýkoli druh - červený, pruhovaný, černý. Kočka by se měla umýt, nakrmit a umístit poblíž. Vaše karma v této době roste a proces zvládnutí materiálu půjde rychleji.

Přípravy na vývoj byly dokončeny. Nyní je dalším krokem vytvoření první aplikace.

Pohodlně se usaďte a zapněte si bezpečnostní pásy – čeká nás vzrušující cesta do světa vývoje aplikací pro Android.

Tento článek vám řekne, jak nainstalovat Android Studio, k tomu budete potřebovat již nainstalovaný Java balíček, pokud jej ještě nemáte, přečtěte si jej. Také vám řekne o nastavení při prvním spuštění a aktualizaci balíčků Android SDK.

Stáhněte si balíček Android Studio

Většina práce související s vývojem aplikací pro Android bude provedena pomocí prostředí Android Studio. Lze jej stáhnout ze stránky: http://developer.android.com/sdk/index.html. Pod nadpisem "Další možnosti stahování" je seznam balíčků pro různé platformy.

Než začnete stahovat, budete muset souhlasit s licenční smlouvou.


Instalace Android Studio

Proces instalace se u různých operačních systémů liší. Níže jsou uvedeny pokyny pro Windows, Mac OS X, Linux.

Instalace pod Windows

Spusťte stažený exe soubor, otevře se průvodce instalací se standardními kroky, jako je umístění instalace a licenční ujednání, po kterých se objeví tlačítko pro spuštění procesu instalace. Nic složitého.



Okamžitě budete také vyzváni k instalaci dalších komponent, jako je SDK Manager a Android Virtual Device. Označte je, budeme je všechny potřebovat.


Pokud to verze operačního systému umožňuje, lze Android Studio spustit z nabídky Start. V případě Windows 8 ke spuštění dochází pomocí spustitelného souboru ve složce bin instalačního adresáře prostředí ve výchozím nastavení cesta k němu vypadá takto: C:\Program Files\Android\Android Studio\bin. Metoda není nejpohodlnější, ale vždy můžete tento soubor přesunout na hlavní panel. Upozorňujeme, že různé verze souborů exe pro 32bitový a 64bitový systém mohou být přítomny současně.

Instalace pod Mac OS X

Android Studio pro MAC OS X se stáhne jako soubor obrazu disku (.dmg). Dvakrát na něj klikněte, objeví se okno:


Chcete-li balíček nainstalovat, jednoduše přetáhněte ikonu Android Studio do složky Aplikace. Balíček se nainstaluje do složky Aplikace v systému, proces obvykle trvá několik minut.

Chcete-li spustit Android Studio, vyhledejte spustitelný soubor ve složce Aplikace a poklepejte na něj. Může se zobrazit chybové dialogové okno oznamující, že JVM nelze nalézt. Pokud se zobrazí tato chyba, musíte si stáhnout a nainstalovat balíček Java JRE pro Mac OS X. Lze jej stáhnout z webu společnosti Apple na adrese http://support.apple.com/kb/DL1572. Poté by se již chyba neměla zobrazovat.

Pro další usnadnění přístupu k nástroji přetáhněte ikonu Android Studio z okna Finderu do doku.

Instalace pod Linuxem

Po stažení balíčku přejděte do složky v terminálu, kde by mělo být nainstalováno Android Studio, a spusťte následující příkaz:

Rozbalte / /android-studio-ide- -linux.zip

Vezměte prosím na vědomí, že sada Android Studio se nainstaluje do podadresáře s názvem android-studio.

Chcete-li spustit IDE, otevřete okno terminálu, změňte adresář na android-studio/bin a spusťte následující příkaz:

./studio.sh

Počáteční nastavení Android Studia

Při prvním spuštění aplikace Android Studio se zobrazí dialogové okno s možností importovat nastavení z předchozí verze aplikace Android Studio. Pokud máte nastavení z předchozí verze a chtěli byste je importovat do nové instalace, vyberte příslušnou možnost a určete umístění nastavení. V opačném případě označte, že nemusíte importovat předchozí nastavení, a pokračujte kliknutím na tlačítko OK.

Jakmile Android Studio dokončí stahování, zobrazí se průvodce instalací, jak je znázorněno na obrázku níže.


Klikněte na tlačítko "Další", vyberte standardní instalaci a znovu klikněte na tlačítko "Další", přijměte licenční ujednání a kliknutím na tlačítko "Dokončit" dokončete proces instalace. Zobrazí se uvítací obrazovka aplikace Android Studio.


Instalace nejnovějších sad Android SDK

Dříve jsme již nainstalovali Javu, Android IDE a sadu aktuálních balíčků Android SDK dodávaných ve výchozím nastavení. Než budete pokračovat, vyplatí se chvíli zkontrolovat, které balíčky jsou nainstalovány, a nainstalovat všechny chybějící balíčky. To lze provést pomocí Správce SDK pro Android, který lze spustit z aplikace Android Studio prostřednictvím Konfigurovat -> Správce SDK nebo z uvítacího okna při spuštění.


Ve Správci Android SDK se ujistěte, že jsou ve sloupci Stav zaškrtnuté následující balíčky:

  • Nástroje > Nástroje Android SDK
  • Nástroje > Nástroje platformy Android SDK
  • Nástroje > Nástroje pro tvorbu sady Android SDK
  • Platforma SDK (nejnovější verze)> Platforma SDK
  • Platforma SDK (nejnovější verze) > ARM EABI v7a System Image
  • Extras -> Android Support Repository
  • Doplňky > Knihovna podpory Android
  • Extras -> Google Repository
  • Extras -> Google USB Driver (Vyžadováno pouze v systémech Windows)
  • Extra > Intel x86 Emulator Accelerator (instalační program HAXM)

Pokud některý z výše uvedených balíčků není nainstalován (sloupec Stav není nainstalován), jednoduše zaškrtněte políčka vedle nich a kliknutím na tlačítko Instalovat balíčky zahajte proces instalace. V dialogovém okně, které se objeví, přijměte podmínky licenční smlouvy, klikněte na tlačítko Instalovat, poté SDK Manager začne stahovat a instalovat označené balíčky. Během instalace se ve spodní části okna správce zobrazí indikátor indikující stav instalace.

Závěr

Tím je instalace Android Studia dokončena a my dokončíme přípravu na vývoj aplikací pro Android.

Abyste mohli psát aplikace pro OS Android, budete si muset nainstalovat vývojové prostředí Android Studio (dále jen AS). Můžete se ptát, proč AS a ne Eclipse? Vývojové prostředí Eclipse je mnohem rychlejší a lehčí než Android Studio,

Google však „doporučuje“ používat AS, protože v budoucnu jej již (nebo spíše již) nepřestane podporovat. Android Studio je takříkajíc budoucnost. Musíte mít poměrně výkonný počítač, nejlépe x64 bit, jelikož AS využívá cca 3 GB RAM, přidejte další 3 GB pro emulátor zařízení Android... Můj počítač má win 8.1 pro x64, dvoujádrový procesor Intel 3,3 GHz, s 8 GB RAM a cítím se docela svobodně...

Jdeme na oficiální web přes odkaz https://developer.android.com/studio, stáhneme si nejnovější verzi požadované bitové hloubky. Aktuální verze pro dnešek je android-studio-2-1-2,

bude vážit přibližně 1,2 GB. Takže buďte trpěliví, pokud máte pomalý internet.

Po stažení spusťte instalační program android-studio-2-1-2.exe,

Průvodce instalací vás vyzve krok za krokem k určení složení instalace,

přijmout licenci

vyberte místo instalace,

Opět čekáme na dokončení instalace.

Poté spustíme Android Studio z plochy nebo z nabídky,

a kliknutím na tlačítko Konfigurovat nakonfigurujte sadu SDK. Zobrazí se seznam nainstalovaných verzí systému Android,

pro které můžete vytvářet aplikace, nejlépe všechny. Pokud některé verze nejsou nainstalovány, klikněte na odkaz Spusťte Standalone SDK Manager k instalaci a aktualizaci balíčků.

Otevře se správce SDK,

zaškrtněte políčka, která jsou nezbytná, jak zjistit která? Manažer SDK Pomůže vám s tím označením požadovaných balíčků verzí. Poté klikněte na tlačítko v pravém dolním rohu, které říká Instalovat 1 (1..100) balíček..

Ve vašem případě bude počet balíčků jiný. Pokud jste vy osobně nebo místo, kde žijete, pod „Západními sankcemi“, pak pro aktualizaci balíčků přejděte do nabídky Nástroje->Možnosti...,

kde můžete zadat adresu a port proxy serveru,

Před časem úředník IDE pro Android existoval Eclipse (jako de facto standard pro Javu) s pluginem ADT. O nějaký čas později si JetBrains IDE začalo získávat oblibu mezi Java programátory, pak se pro něj objevil plugin pro vývoj Androidu a lidé na něj začali pomalu přecházet z Eclipse.

O něco později Google oznamuje, co bude Android Studio dělat na základě IDEA. A nyní se blíží druhá verze Android Studia a Eclipse se pamatuje jen jako zlý sen :)

Android Studio— oficiální vývojové prostředí pro Android. Android Studio je v podstatě slavný Java IDE IntelliJ IDEA s pluginy.

V současné době existují při výběru IDE pro Android následující možnosti:

  1. Zatmění. Před časem nejoblíbenější IDE pro Javu, nyní jej použijte pro vývoj Androidu vysoce nedoporučuje.
  2. IntelliJ IDEA. Skvělé IDE, dobré pro Android.
  3. Android Studio. Nejlepší IDE pro Android. Od IDEA se liší v maličkostech, ale tyto drobnosti jsou velmi, velmi příjemné a velmi nám usnadňují práci :) Právě na to se zaměříme.

Nejprve se musíte ujistit, že máte nainstalovaný JDK (Java Development Kit). Jedná se o komponentu vyžadovanou pro vývoj v Javě, a protože vývoj pro Android probíhá v Javě, je nutný i pro vývoj pro Android.

Za druhé, zaškrtněte políčka „zobrazit čísla řádků“ a „zobrazit oddělovače metod“:

První zobrazí čísla řádků nalevo od textu, druhý vykreslí oddělovače mezi metodami v kódu.

Tyto dvě možnosti jsou neuvěřitelně důležité, zejména pro začátečníky, a nechápu, proč jsou ve výchozím nastavení zakázány.

Třetí, nakonfigurujte automatické dokončování. Chcete-li to provést, vyberte možnost „Žádné“ v části „Dokončení rozlišující malá a velká písmena“:

Dovolte mi vysvětlit, proč tomu tak je. Výchozí možnost znamená, že automatické doplňování funguje pouze v případě, že je první písmeno napsáno ve správné velikosti. Možnost Žádné způsobí automatické dokončení bez ohledu na to, v jakém případě začnete kód psát.

Standardní význam této možnosti, stejně jako předchozí dvě, mě mate.

Vytvoření prvního projektu

Dobře, vyřešili jsme nastavení a instalaci Android Studia, je čas vytvořit náš první projekt.

V hlavním okně aplikace Android Studio klikněte na „ Spusťte nový projekt Android Studio«:

Objeví se nové okno, ve kterém musíme provést několik akcí.

V první musíte zadat název aplikace, doménu společnosti (název balíčku bude vytvořen z těchto dvou parametrů) a umístění projektu na disku:

V Androidu, stejně jako v Javě, je primárním identifikátorem aplikace název balíčku. Pokud jste dříve pracovali s Javou, víte, co to je. Kdo neví, doporučuji Google, nebo třeba zde.

Dále se nás Android Studio zeptá, které a jaké verze SDK chceme použít. Prozatím nám bude stačit SDK „Phone and Tablet“ nastavit verzi API na 16 místo doporučených 15, protože API 15 již není relevantní a není vůbec rozšířené:

Na další obrazovce budeme dotázáni, které součásti aplikace chceme vytvořit. Vyberte "Vyprázdnit aktivitu":

V dalším kroku stačí kliknout na „Dokončit“, aniž byste cokoli změnili.

Po dokončení tohoto procesu konečně uvidíte svůj první projekt:

Už je docela funkční, ale k jeho spuštění potřebujeme emulátor Androidu.

Vytvoření emulátoru Android

K vytvoření emulátoru Android potřebujeme Android AVD Manager(AVD = Android Virtual Device). Nebojte se, nebudete muset nic dalšího instalovat. Stačí kliknout na toto tlačítko:

Pak na tomto tlačítku:

Poté stačí několikrát kliknout na „Další“ a nakonec na „Dokončit“

Spuštění Hello World

Je čas spustit náš první projekt vytvořený v Android Studio!

Klikněte na toto tlačítko (nebo Shift-F10):

Poté se zobrazí dialog, ve kterém budete požádáni o výběr zařízení, na kterém má IDE spustit sestavenou aplikaci:

Zaškrtněte políčko zvýrazněné šipkou a klikněte na OK. Začne se budovat projekt, spustí se emulátor, aplikace se nainstaluje na emulátor a spustí se aplikace.

To bude nějakou dobu trvat (čím výkonnější je váš počítač, tím méně času to zabere), protože emulátor je poměrně pomalý, navzdory obrovským zlepšením v posledních několika letech.

A nyní, po 1-10 minutách (po spuštění emulátoru se projekty budou samozřejmě sestavovat a spouštět rychleji), konečně uvidíte svůj Hello World na obrazovce emulátoru!

To je vše a v příští lekci se na to podíváme.

Každý den přibývají nové lekce! Aby vám nic neuniklo, přihlaste se k odběru našeho




Horní