[[Vorlage(Getestet, bionic, focal)]] {{{#!vorlage Wissen [:Archivmanager: Archive entpacken] [:Programme starten: Ein Programm ohne Menüeintrag starten] }}} [[Inhaltsverzeichnis(2)]] [[Bild(android.png, 75, left)]] [https://www.android.com/ Android] {en} ist ein von Google bereitgestelltes freies Betriebssystem für Mobilgeräte wie bspw. Smartphones und Netbooks. Entwickelt wird es von der [https://www.openhandsetalliance.com/ Open Handset Alliance] {en}. Anwendungen werden vornehmlich in Java programmiert. Eine (teilweise) Programmierung in C ist ebenfalls möglich, jedoch kann man keine selbständigen Programme (Apps) damit schreiben, sondern nur einzelne Unterprogramme, die dann von einem Java-Programm gestartet werden (siehe [#Android-NDK Android NDK]). [[Vorlage(Bildunterschrift, As-1.png, 200, "Android Studio - Start", right)]] Mittels des Android Studios kann man – bei entsprechenden Programmierkenntnissen – schnell eigene [wikipedia:Mobile_App: Apps] für Android entwickeln und auf dem eigenen Rechner testen. Google beansprucht keinerlei Rechte an der Software, die man entwickelt hat. Insbesondere steht es einem frei, die eigenen Programme unter die GPL, eine andere OpenSource-Lizenz oder eine proprietäre Lizenz zu stellen. Android Studio basiert auf [https://www.jetbrains.com/idea/ IntelliJ IDEA] {en} und ersetzt seit 2014 das von Google angebotene und auf [:Eclipse:] basierende "ADT Bundle". Letzteres wird nicht mehr offiziell unterstützt. Eine [https://developer.android.com/studio/intro/migrate Migrationsanleitung] {en} unterstützt beim Umstieg auf Android Studio. = Voraussetzungen = Android Studio benötigt Java 8 oder höher. Die Installation wird im Artikel [:Java/Installation:] beschrieben. Die Verwendung von Android Studio mit [:Java#OpenJDK:OpenJDK] 13 wurde erfolgreich unter [:Eoan:] getestet. Hierbei ist zu beachten das auch die erweiterten Pakete zum Programme entwickeln erforderlich sind. Seitens des Betreibers des PPA wird jedoch Oracle Java 8 JDK empfohlen, besonders dann, wenn Probleme auftreten. Folgende Pakete sind für Android Studio erforderlich: {{{#!vorlage Paketinstallation libcanberra-gtk-module, universe android-sdk }}} = Installation = Es gibt verschiedene Möglichkeiten, um Android Studio zu installieren. Aufgezeigt ist hier einmal die Installation über eine PPA und über ein Snap Paket. == Installation über PPA == Bei der Nutzung der nachfolgenden Quelle wird Open-JDK-8 als Abhängigkeit mit installiert. [[Vorlage(PPA, maarten-fonville, android-studio)]] Nach dem Aktualisieren der Paketquellen kann das folgende Paket installiert werden: {{{#!vorlage Paketinstallation android-studio }}} Wurde Android Studio über PPA installiert, ist es unter ''"Anwendungen anzeigen -> Android Studio"'' zu finden. Android Studio kann ebenfalls in der Konsole mit folgendem Befehl gestartet werden. {{{#!vorlage Befehl /opt/android-studio/bin/studio.sh }}} Android Studio wird nach dem ersten Start weitere Programmdateien (ca. 1,3 GB) nachinstallieren. == Installation über Snap ab 18.04 == Für Ubuntu Versionen ab 18.04 steht standardmäßig ein [:snap:]-Paket für Android Studio zur Verfügung. Dieses kann über folgende Befehlszeile installiert werden: {{{#!vorlage Befehl snap install android-studio --classic }}} Wurde Android Studio über ein Snap Paket installiert, ist es unter ''"Anwendungen anzeigen -> Android Studio"'' zu finden. = Benutzung = [[Vorlage(Bildunterschrift, androidstudio_new.jpeg, 200, "Android Studio - Neues Projekt", right)]] Beim ersten Start prüft Android Studio ob ein Update vorhanden ist, diese Aktualisierungen ggf. durchführen. Für entsprechende Zugriffsrechte, um diese Updates durchzuführen, muss gesorgt werden, alternativ kann Android Studio auch als root ausgeführt werden '''sudo /opt/android-studio/bin/studio.sh'''. Ein Dialog hilft bei der Erstellung eines neuen Projekts. Wie beim ADT Bundle muss ggf. die gewünschte [#Android-SDK-Manager Android-Zielplattform] heruntergeladen werden, bevor ein Projekt ausgeführt werden kann. Sofern bereits ein [#Android-Virtual-Device-Manager virtuelles Gerät] zur Simulation erstellt wurde, kann das Projekt über das Menü ''"Run -> Run"'' gestartet und getestet werden. Für weitere Informationen sei auf die [https://developer.android.com/sdk/installing/bundle.html Anleitung der Android-Entwicklerseite] {en} verwiesen. Das Paket kann alternativ auch von der [https://developer.android.com/studio/install Herstellerseite] {en} heruntergeladen und in ein beliebiges Verzeichnis entpackt [1] werden. [[Vorlage(Fremd, Software)]] = Konfiguration = {{{#!vorlage Tabelle [[Bild(android-sdk-manager.jpg, x200)]] <:>[[Bild(android-avd-manager.png, x200)]] +++ <:>SDK Manager <:>AVD Manager }}} === Android SDK Manager === Über den ''Android SDK Manager'' können verschiedene Android-Versionen als Zielplattform nachinstalliert werden. Durch Klick auf das entsprechende Symbol in der Werkzeugleiste öffnet sich ein Dialog, über den die gewünschte Version, Beispiele und weitere Hilfswerkzeuge installiert werden können. === Android Virtual Device Manager === Bevor man ein erstelltes Projekt testen kann, muss ein virtuelles Androidgerät installiert werden. Dies geschieht über den ''"Android Virtual Device Manager"'', welcher über das entsprechende Symbol in der Werkzeugleiste aufgerufen werden kann. Nach dem Start des Managers klickt man auf ''"New"'', trägt einen beliebigen Gerätenamen ein und wählt unter ''"Target"'' die gewünschte [#Android-SDK-Manager Android-Plattform], die man vorher installiert hat. Zusätzlich können der verfügbare Speicherplatz (''"SD Card"'') und der gewünschte Bildschirm (''"Skin"'') gewählt werden, zusätzlich können verschiedene (virtuelle) Hardwarekomponenten de- oder aktiviert werden. Hat man alle Einstellungen ausgewählt, [[Vorlage(Tasten, lmt)]] auf ''"Ok"'', und man kann die erstellte Plattform durch [[Vorlage(Tasten, lmt)]] auf ''"Start"'' testen. Achtung: Das Starten kann einige Minuten in Anspruch nehmen! === Android Debugging Bridge über Netzwerk === Android Studio zeigt neben virtuellen Geräten auch physikalische Android Geräte an um Anwendungen darauf auszuführen, zu testen und zu debuggen. Voraussetzung hierfür ist, das der Entwicklermodus sowie das USB Debugging auf dem jeweiligen Geräten aktiv ist. Geräte, welche über USB angeschlossen wurden, werden automatisch angezeigt. Problematisch wird dies natürlich, wenn Android Studio in einer Virtuellen Maschine betrieben wird da dort das Gerät nicht "angesteckt" werden kann und auch die Funktion, ein USB Gerät an die virtuelle Maschine weiterzureichen, je nach verwendeter Virtualisierung nur bedingt funktioniert. Die Android Debugging Bridge (adb) bietet hierfür die Möglichkeit die Verbindung über TCP/IP aufzubauen, das Handy muss sich hierfür im selben WLAN wie die Entwickler-VM befinden. 1) Vorbereitung: ADB Demon auf dem Handy in den tcp Modus schalten Hierzu muss das Handy an eine physikalische Maschine angeschlossens werden adb kill-server → stoppen des Servers adb devices → startet den Server und sollte das Gerät anzeigen adb tcpip 5555 → schaltet den ADB Demon auf den Handy auf den TCPIP Modus 2) Connect von der Entwickler VM Die IP Addresse des Handy lässt sich, abhängig von der Android Version, in ein Einstellungen unter den Telefon Status Informationen anzeigen. Der Verbindungsaufbau von der Entwickler VM erfolgt über folgenden Befehlt adb connect 192.168.nnn.mmm:pppp (IP Addresse und Port müssen auf die Geräte IP und den oben eingestellten Port angepasst werden) z.B. adb connect 192.168.123.456:5555 Über den Befehl adb devices wird nun das physikalische Handy auch in der Entwickler VM angezeigt und kann von Android Studio wie ein physikalisch angeschlossenes Gerät verwendet werden. Ebenso, wie physikalische Android Geräte, lassen sich auf diesem Weg auch virtuelle Android Geräte welche auf Emulatoren laufen verbinden. Da Emulatoren innerhalb von virtuellen Maschinen generell problematisch sind, kann der Emulator auf dem Host parallel zur Entwickler-VM laufen, die Verbindung kann über den gleichen adb connect befehl hergestellt werden. = Android NDK = Das Android NDK ist hier nur der Vollständigkeit halber erwähnt. Mittels des NDKs können Teile einer Android-Anwendung in C programmiert werden. Verwendung findet es in erster Linie für Anwendungen, die sehr prozessorabhängig sind. Zusätzlich bietet sich diese Variante an, falls man eine umfangreiche C-Anwendung auf Android portieren möchte. Das Paket selbst, Installationsanleitung und Verwendung sind auf der [https://developer.android.com/ndk Herstellerseite] {en} zu finden. = Links = * [https://developer.android.com/ Offizielle Entwicklerseite] {en} * [https://android-developers.de Deutschsprachige Community zur Android Softwareentwicklung] {de} # tag: Programmierung, Android, Java