Android und die Tiefen der Quellen

Das Android SDK mit den Android Development Tools (ADT) und Eclipse oder die Entwicklungsumgebung MOTODEV Studio for Android von Motorola ermöglichen einen leichten Einstieg in die Anwendungsentwicklung für Android, aber spätestens für systemnahe Anwendungen sind diese Umgebungen nicht mehr ausreichend.

MOTODEV :: Debug

MOTODEV :: Debug


Ein erster Versuch über die Grenzen der eigenen Anwendung hinaus die Klassen der Android Plattform im Debugger zu analysieren …

HinweisDas folgende Beispiel wurde unter Ubuntu 9.10 – Karmic Koala – 64-bit x86 mit der IDE MOTODEV Studio for Android v1.3 (64-bit) durchgeführt.

Entwicklungsumgebung Android Plattform

erforderliche Pakete installieren

$ sudo apt-get install openjdk-6-jdk git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev

Ubuntu X11 Workaround

$ sudo ln -s /usr/lib32/libX11.so.6 /usr/lib32/libX11.so

repo Skript installieren

$ curl http://android.git.kernel.org/repo > ~/bin/repo
$ chmod +x ~/bin/repo

Verzeichnis für die lokalen Quellen erstellen

$ mkdir ~/android/android-master
$ cd ~/android/android-master/

Verzeichnis für die Quellen initialisieren

$ ~/bin/repo init -u git://android.git.kernel.org/platform/manifest.git

Quellen herunterladen

HinweisDie Quellen der Android Plattform sind 4,1 GB und konnten mit meiner DSL Anbindung in gut 40 Minuten (39m8.564s) heruntergeladen werden.

$ ~/bin/repo sync

Android Plattform übersetzen

HinweisDie 4,1 GB Quellen der Android Plattform konnte ich mit meinem Asus P50IJ in gut zwei Stunden (123m26.699s) übersetzen und wachsen auf etwa 8,1 GB an.

$ cd ~/android/android-master/
$ make

Emulator starten

$ cd ~/android/android-master/
$ . build/envsetup.sh
$ lunch 1
$ emulator

TippDer Emulator wird gegensätzlich zum OS in der vertikalen Ausrichtung gestartet? Damit der Nacken nicht steif wird, kann die Ausrichtung des Emulators mit <STRG>+<F11> und <STRG>+<F12> geändert werden.

Android Plattform :: Emulator

Android Plattform :: Emulator

Anwendung installieren (optional)

$ cd ~/android/android-master/
$ . build/envsetup.sh
$ lunch 1
$ adb -s emulator-5554 install MeineAnwendung.apk

Android Plattform & MOTODEV Studio for Android

Vorlage für die Classpath-Konfiguration kopieren

$ cd ~/android/android-master/
$ cp development/ide/eclipse/.classpath .
$ chmod u+w .classpath

In der IDE die Quellen der Android Plattform über „File / New / Project… / Java / Java Project“ und der „Use default loation“ geändert auf „~/android/android-master“ einbinden.

MOTODEV :: new Java Project

MOTODEV :: new Java Project


Anwendung & Android Plattform debuggen

Die Quellen der eigenen Anwendung der Android Plattform über Kontextmenü „Build Path / Configure Build Path… / Projects / Add… / Select projects to add“ hinzufügen.

DDMS Perspektive öffnen und die VM der gestarteten Anwendung zum debuggen selektieren.

MOTODEV :: DDMS

MOTODEV :: DDMS

Zu guter letzt einen Breakpoint nach belieben setzen und über Kontextmenü auf das Projekt der Android Plattform „Debug As / Debug Configurations…“ unter „Remote Java Application“ eine neue Konfiguration mit folgenden Werten erstellen.

MOTODEV :: Debug Configuration

MOTODEV :: Debug Configuration

Host: localhost
Port: 8700

Über Debug verbindet sich die IDE mit der im DDMS selektierten VM des Emulators und bei erreichen des Breakpoints kann in die Debug Perspektive gewechselt werden und bis in die Tiefen der Android Plattform Quellen Schritt für Schritt vorgedrungen werden …

MOTODEV :: Switch Perspective

MOTODEV :: Switch Perspective

Schon mal nicht schlecht … schön wäre noch eine bessere Integration des selbst erstellten Emulators in die IDE … ;)

Tags: , , , ,

Hinterlasse eine Antwort