![]() |
Programmierung auf Android Geräten
Vor einiger Zeit hatte ich in einem Forum erwähnt dass ich mittlerweile einen großen Teil meines Codes auf dem Tablet schreibe und erhielt zum großen Teil schallendes Gelächter. Dieses kam zwar zumeist von Nutzern die sich mit IDE')s und Baukästen Programme zusammenklicken und sich Programmierer nennen ;)
Um nun deutlich zu machen wie einfach es ist auf Android alle benötigten Programme einzurichten um wirklich effektiv zu programmieren schreibe ich dieses kleine Tutorial für interessierte und Anfänger, behandle dabei die Erstellung und Einstellung der Umgebung. Dies bezieht sich zwar auf die Android App Termux sollte jedoch auch auf jeder anderen Linuxpartition möglich sein die eine Kommandozeile bietet. Schritt 0: Was wir benötigen Um es deutlich zu sagen, auch wenn wir im Play Store Apps wie Hacker Keyboard und ähnliches haben die uns Funktionstasten usw. zur verfügung stellen ist es ratsam eine Hardwaretastatur zu nutzen, diese gibt es für 20 Euro zu kaufen und kann wie jede andere genutzt werden. Ich habe für sämtliche Hardware ca 250 Euro ausgegeben und habe mir ein Samsung Galaxy Tab A6 zugelegt was neben Android 8 auch einen 10 Zoll Bildschirm mit einer Auflösung von 1920x1200 besitzt und mir zusätzlich noch eine 50 Euro Tastatur mit integrierter Aufnahme zugelegt, wenn man bedenkt was Notebooks in dieser Preisklasse leisten eigentlich kein schlechter Deal. Neben der Hardware die vermutlich jeder in den Händen hält benötigen wir ledichlich eine Android App aus dem Playstore die sich Termux nennt und von Fredrik Fornwall entwickelt wurde. Bei Termux handelt es sich um nichts weiter als eine Grundlegende Kommandozeile für Linux. Der Vorteil dieser App ist dass sie Kostenlos und werbefrei ist, 90% aller Linux Konsolenanwendungen ausführen kann und selbst auf dem schlechtesten Gerät ohne Root flüssig läuft. Wer nun der Meinung ist dass er zum Programmieren Guis und Maussteuerung benötigt sollte von diesem Guide die Finger lassen denn alles was wir hier verwenden und installieren ist Tastaturgesteuert und bezieht sich auf die Kommandozeile, wer Motivation besitzt und wirklich Programmieren möchte wird vollauf zufrieden sein. Die Installation und Einrichtung benötigt ca. eine halbe bis 1 Stunde, ermöglicht es und die Programmierung für alle wichtigen Sprachen (Python, Ruby, C++, Go, Rust ...) und kostet uns je nach installierten Paketen gerade einmal ein paar hundert MB Speicher. Ich versuche das Tutorial so zu gestalten dass man danach alles besitzt um mit dem Gerät produktiv in einer vernünftigen Umgebung arbeiten zu können gehe aber nicht tiefer auf die Einstellungsmöglichkeiten ein da diese unbegrenzt sind (Das Komplette System ist zu 100% anpassbar) zeige jedoch Grundlagen zur Anpassing. Was ich nicht erkläre ist die Anpassung der jeweiligen Programme wie Editoren da dies den Rahmen sprengen würde, ich nehme einfach an dass jeder der spezielle verwednen möchte mit dem Umgang und den Plugins vertraut ist bzw. motiviert sich die Dokumentation durchzulesen. Schritt 1: Installation der Pakete Wir haben nun also Termux aus dem Playstore geladen und installiert, beim Tippen auf das Symbol werden die benötigten Files geladen und 10 Sekunden später steht uns die Umgebung zur Verfügung. Das erste was wir nun tun müssen ist sicherstellen dass der Paketmanager auf die aktuellen Daten zugreift und das System ansonsten alles besitzt. Code:
$ pkg upgrade && update Als erstes benötigen wir einen Texteditor, hierbei stehen uns alle zur Verfügung die in der Kommandozeile lauffähig sind. Einfache Editoren wie micro bieten die üblichen Funktionen zum Schreiben von Quellcode mit automatischer einrückung und Syntaxhervorhebung und sind gerade für Anfänger interessant, erfahrene Programmierer werden auf die üblichen Editoren wie Vim und Emacs zurückgreifen. Code:
$ pkg install vim - installiert Vim 8.x Haben wir nun einen Texteditor unserer Wahl müssen wir uns noch entscheiden welche Programmiersprache wir verwenden möchten, hierfür stehen uns Interpreter und Compiler zu nahezu allen zur Verfügung (Rust durch thirdparty). Auch hier findet ihr eine Liste auf der Wiki Seite. Code:
$ pkg install python clang ruby Bei Python Modulen wie Numpy und Scipy ist es ein wenig komplizierter da diese vorher kompiliert werden müssen was aktuell nicht möglich ist. Auf der Wiki Seite steht jedoch eine Anleitung zur Verfügung wie ihr diese Module durch einen anderen Paketmanager installiert, selben gilt für den Rustc Compiler. Nun da ihr alle benötigten Pakete installiert habt könnt ihr wie auf jeder anderen Kommandozeile damit arbeiten, ihr erstellt die Quellcodes, Kompiliert oder interpretiert sie und fertig. Schritt 2: Shell Crashkurs Wer bisher nur mit Grafischen Oberflächen gearbeitet hat könnte Termux etwas unständlich finden jedoch arbeitet man nach ein paar Stunden Einarbeitungszeit schneller und effektiver damit als mit jeder anderen Umgebung. Als erstes ist anzumerken dass man sich alles selbst einrichtet und sich daher auch besser zurechtfindet, man kann das System zu 100% nach seinen Wünschen anpassen und durch ist in der Lage alles mit der Tastatur zu bedienen. Wenn man die Shell startet befindet man sich im $HOME Verzeichnis, in diesem werden alle Dateien und Ordner abgelegt die wir erstellen und wir kommen mit dem Befehl "cd ~" immer wieder in dieses zurück falls wir uns im Ordnerchaos verirrt haben. Des weiteren werden hier standardmäßig die Konfigurationsdateien gesucht falls wir änderungen an unserem System vornehmen möchten. Um uns den Inhalt des Ordners anzeigen zu lassen geben wir den Befehl "ls" in der Kommandozeile ein welcher uns alle Dateien und Verzeichnisse die sich im aktuellen Pfad befinden auflistet. Eine Ausnahme bilden hierbei Daten und Ordner welche mit einem "." beginnen, diese sind versteckt und werden nicht angezeigt, können jedoch von uns geöffnet und bearbeitet werden. Wollen wir uns für unsere Programmierarbeit Verzeichnisse einrichten steht uns der Befehl mkdir zur Verfügung an welchen wir den gewünschten Namen anhängen, dieser ermöglicht es uns auch mehrere Ordner gleichzeitig zu erstellen. Code:
$ mkdir programming Befehle können auch mithilfe des && Operators verkettet werden um sich Tipparbeit zu spaaren. Code:
$ mkdir programming && cd programming && mkdir rb py cpp Haben wir uns nun vertippt und statt demm Ordner rb den Ordner rn erstellt können wir diesen problemlos mithilfe des "rm" befehls wieder entfernen. Dieser Befehl bietet eine Vielzahl zusätzlicher Parameter für spezielle Fälle, da es zu lange dauern würde sie alle aufzuführen lest euch bitte eine Dokumentation zur Linux Shell durch. Code:
$ rm -r rn Schritt 3: Optimierung Im Moment ist es noch recht mühsam sich durch die Ordner zu bewegen da wir ständig den vollständigen Pfad eingeben müssen wenn wir uns mit cd bewegen, dafür bietet uns das System alias Methoden die uns das wechseln stark vereinfachen. Um diese einzurichten wechseln wir zuerst mithilfe von "cd ~" ins HOME Verzeichnis und erstellen mit unserem Editor die Datei .bashrc (der Punkt am Anfang ist wichtig!) Code:
$ vim .bashrc Achtung: Auch wenn im Netz eine vielzahl von .bashrc Dateien zur Verfügung gestellt wird, diese sind meist auf die Wünsche des Erstellers angepasst und auch wenn sie für ihn "Die Ultimative", "Die Beste" oder sonstwas sind, sind sie für uns nutzlos, wir wollen ein System für uns einrichten und keins verwenden was funktioniert wie andere es wollen oder schlimmer noch, so funktioniert wie wir es nicht wollen. An diesem Punkt solltet ihr im HOME Verzeichnis Ordner für eure Arbeit erstellt haben. Ich habe Ordner für meine Programmiersprachen erstellt und einen Ordner mit Notitzen in welchem sich Cheatsheets und wie der Name bereits sagt Notitzen befinden. In die .bashrc schreiben wir nun einfach alias Anweisungen für die Pfade die wir am häufigsten benötigen, dadurch müssen wir nichtmehr den Pfad angeben sondern nur den Bezeichner den wir verweden. Code:
alias <Bezeichner>="(Befehl)Pfad" Im String hinter dem = befindet sich die Anweisung welche ihr in die Konsole Tippen würdet, wir wollen das Verzeichnis wechseln also cd, da wir aus jedem belieigen Pfad wechseln müssen müssen wir auch den vollständigen Pfad vom Homeverzeichnis angeben, daher das ~/ am Anfang des Pfadnamens. Es ist sogar möglich mit Aliases auf einzelne Dateien zugeifen zu können, da ich mein Cheatsheet für Vim doch recht häufig mal für einen Moment benötige habe ich auch hierfür ein Alias eingerichtet. Code:
alias _vc='vim ~/notes/vimcs.txt' Um auf unsere Aliases zuzugreifen müssen wir im Terminal jetzt lediglich den Bezciehner eingeben. Code:
$ _vc Wo wir bereits in der .bashrc sind können wir uns auch gleich um ein Problem kümmern vor dem ich ständig stehe, nach einer Stunde Programieren weiß ich nie wo ich mich befinde und möchte daher dass mir der Pfad direkt im Prompt angezeigt wird. Dies ist recht einfach und braucht nur eine Zeile Code. Code:
PS1=' \[\033[1;31m\]@\W : ' Code:
@cpp : Damit die Änderungen ander .bashrc in Kraft treten müsst ihr sie Speichern. in vim mit :wq, in micro durch <Strg> + S und im Anschluss Termux durch exit verlassen und neu starten damit die .bashrc neu eingelesen wird. Schritt 4: Aufbohren für Tablets Für Smartphones haben wir alles eingerichtet und eingestellt was möglich war, um mehrere Fenster zu öffnen wischen wir von links nach rechts und erstellen ein neues Fenster. Zwischen den beiden Fenstern können wir dann bequem wechseln um z.B. in einem den Editor und im anderen den Compiler laufen zu lassen. Auf Tablets fällt uns auf dass wir eigentlich nur den halben Bildschirm brauchen und auf dem rechten gern ein weiteres Fenster hätten, dies ist in Termux zwar nicht möglich aber da wir uns in einem voll funktionsfähigen Linux befinden schaffen wir mit einem weieren Programm Abhilfe. Code:
$ pkg install tmux Um nun den Bildschirm zu splitten verwenden wir einfach die Tastenkombination von <Strg> + b um tmux mitzuteilen dass wir ihm eine Anweisung geben möchten und splitten den Bildschirm dann durch Eingabe von % (<Shift> + 5) horizontal. Ich nehme ja an dass ihr auch im Landschaftsmodus arbeitet. Wollen wir nun das rechte Fenster nutzen um den Compiler auszuführen und uns z.B. die Dokumentationen durchzulesen können wir durch <Strg> + b, " (<Shift> + 2) das Fenster nocheinmal vertikal splitten. Achtet darauf dass ihr nicht zuviele Splits erstellt da jedes Fenster eine eigene Instanz der Kommandozeile besitzt und der Speicher somit recht schnell ausgelastet sein kann. Zwischen den Fenstern zu wechseln ist im Moment noch ein wenig komplituert, daher gehen wir sicher dass wir uns im Home Verzeichnis befinden und erstellen mit unserem Edior eine Datei namens .tmux.conf (achtet auf die Punkte). Die tmux conf ist speziell für tmux, alles was wir in der .bashrc eingestellt haben können wir auch in tmux verwenden, umgekehrt funktioniert dies nicht. Hier können wir spezielle Tastenkombinationen festlegen, das Aussehen der Oberfläche und der Befehlsleise anpassen und sogar festlegen ob fenster beim Start automatisch gesplittet werden sollen. Wir wollen nun zum erste die Tastenkombination ändern um in den Befehlsmodus zu kommen da <Strg> + b doch ettwas umständlich ist und des weiteren einen einfachen wechsel zwischen den Fenstern mit der Tastatur ermöglichen. Code:
$ cd ~ && vim .tmux.conf Code:
bind -n M-Left select-pane -L Im Prinzip kann man in der .tmux.conf alles nach seinen Wünschen anpassen, unter Linuxport im Internet findet man unglaubliche Setups an der Oberfläche und der Befehlszeile, mein Code zur Anpassung ist zwar nur auf das nötigste Begrenzt, umfasst jedoch auch schon 800 Zeichen. Versucht euch auch hier nach euren Wünschen einzurichten und kopiert nicht nur Dateien, es gibt viele gute Tutorials zu tmux. Fazit: Ich denke ich konnte zeigen dass es mit einfachen Mitteln möglich ist auch Geräte ohne Root in eine vollwertige Programmierumgebung zu verwandeln. Der Nachteil das somit keine Grafischen oberflächen programmiert werden können ist zwar schade jedoch auch nicht wirklich nötig. Mithilfe dieser Methode ist es vor allem möglich für wenig Geld immer und überall Code zu schreiben. Bedenkt man dass es sich bei den Programmen um exakt die Tools handelt welche auch bei Professionellen entwicklern verwendet werden und nicht um billige Ports oder Kopien wie sie auf manch anderem Betriebssystem oder im Playstore angeboten werden. Mein Fazit, wer wie ich unterwegs auf Montage Programmieren will und nicht ständig seinen Rechner mitschleppen der macht auf diesem Weg nichts falsch, die Programme können am Ende problemlos auf den PC übertragen werden. Das System und die Anwendungen können vollständig an die eigenen Bedürfnisse angepasst werden und erleichtert das Arbeiten um ein vielfaches, diesen Luxus habe ich auf Windows nicht! |
Hallo,
mit dem Appinventor des MIT kann man vollständige Handy Apps für Android programmieren und alles kostenlos. [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] Gruß looosch |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:10 Uhr. |
Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.