Schlangengrube: Python-Skripte auf dem Android-Smartphone

Wie einem Artikel im Linux Journal zu entnehmen war, ist Java nicht die einzige Möglichkeit eine App für Android-Smartphones zu erstellen. Einen sehr interessanten Weg eröffnet die Installation des Scripting Layer for Android (SL4A). SL4A stellt Skript-Sprachen ein High-level Interface zur Android-API zur Verfügung. Genaugenommen wird nur eine Untermenge des Android API zugänglich gemacht. Dabei unterstützt SL4A nicht nur Python, sondern auch Perl, JRuby, Lua, BeanShell, JavaScript und Tcl. Die erforderlichen Installationsschritte sind im o.g. Artikel ausführlich erläutert, ergänzend soll lediglich gesagt werden, dass ein Skript unter Linux durch den Aufruf von ./platform-tools/adb vom Wurzelverzeichnis des Android SDK aus auf das virtuelle Android-Device übertragen wird und nicht durch Aufruf von tools/adb, wie im Artikel genannt.
Um Dateien zu einem realen Smartphone zu Übertragen hat sich sftp bewährt, dazu muß lediglich ein sshd auf dem Smartphone installiert werden (über Google-Play möglich).

Eine Übersicht zur API-Referenz, sowie einige Tutorials zum SL4A, sind über den Link erhältlich.

Welche Leistung über die API zur Verfügung steht, läßt das Beispiel eines Barcode-Scanners in 6 Zeilen Python-Code erahnen.

Oracle VirtualBox 4.2 unter OpenSUSE 12.2 installieren

Dieser Artikel beschreibt die Installation der Version 4.2 von Oracle VirtualBox unter OpenSUSE 12.2. Man benötigt Root-Rechte für die Installation, die man durch Eingabe des Kommandos su erlangt. Die Eingabe von uname -a ergibt die aktuell installierte Version des Kernels:

Linux tp-t530.site 3.4.6-2.10-desktop #1 SMP PREEMPT Thu Jul 26 09:36:26 UTC 2012 (641c197) x86_64 x86_64 x86_64 GNU/Linux

In diesem Fall also die Desktop-Version. Demnach müssen auch die nachfolgend zu installierenden Pakete den Zusatz Desktop tragen:

# zypper install kernel-desktop-devel kernel-source kernel-syms Xerces-c gcc make

Nach dem nun notwendigen Reboot und der anschließenden Root-Authentifikation muß man dem System das VirtualBox-OpenSUSE-Repository hinzufügen (Es gibt für OpenSUSE 12.2 kein eigenes Repo, da die Version 11.4 auch noch unter 12.2 funktioniert):

# cd /etc/zypp/repos.d/
# wget http://download.virtualbox.org/virtualbox/rpm/opensuse/11.4/virtualbox.repo

Jetzt kann VirtualBox 4.2 eingespielt werden:

# zypper install VirtualBox-4.2

Bis einschließlich Version 3 von VirtualBox waren zwei unterschiedliche Ausgaben mit unterschiedlichen Lizenzen verfügbar: eine Version mit komplettem Funktionsumfang und proprietärer Lizenz (die für private Zwecke kostenlos nutzbar war) und einer Version mit eingeschränktem Funktionsumfang (es fehlte z.B. die USB-Unterstützung) und öffentlichem Quellcode unter der GNU GPL. Oracle stellt ab Version 4.0 nur noch eine Version zur Verfügung, die unter der GPL steht und der früheren Open Source Version im Funktionsumfang ähnelt. Die Zusatzfunktionen (USB 2.0, RDP, PXE Boot für Intel-Karten) der proprietären Version sind in einem Extension Pack zusammengefaßt und können (dann wieder unter der proprietären Lizenz) nachinstalliert und genutzt werden. Da dieses Extension Pack nicht über das Repository installierbar ist, muß es direkt von der VirtualBox-Seite heruntergeladen (www.virtualbox.org/wiki/Downloads) werden. Das Extension Pack muß die gleiche Version wie VirtualBox selbst aufweisen:

VirtualBox 4.2 Oracle VM VirtualBox Extension Pack …

Hat man den Downloadlink identifiziert kann’s losgehen:

# wget http://download.virtualbox.org/virtualbox/4.2.0/Oracle_VM_VirtualBox_Extension_Pack-4.2.0-80737.vbox-extpack
# sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.2.0-80737.vbox-extpack

Nun muß nur noch der Benutzer zur Gruppe vboxusers hinzugefügt werden:

# /usr/sbin/usermod -G vboxusers Benutzer