Aktuelle Informationen über troido und die Netzwelt!


Droid Full Der erste troido Artikel für die Mobile Developer ist nun hier Online als PDF.
Viel Spaß beim Lesen.


Apkformat Eine im Zusammenhang mit Robotium oft gestellte Frage ist, wie man Software testet für die es keine Quellen sondern nur das apk gibt. Diese apk Archive müssen von der Signatur befreit werden um danach erneut mit einem debug-key signiert zu werden. Zu diesem Zwecke habe ich eine kleine Software entwickelt, die diese Aufgabe erledigt.
Man benötigt die re-sign.jar und ein installiertes Android SDK.

Um ein apk neu zu signieren startet man das Programm mit java -jar re-sign.jar und zieht per drag&drop ein apk auf das Hauptfenster.
Um apks ohne GUI neu zu signieren ruft man das Programm auf mit java -jar re-sign.jar input.apk output.apk
Nach der Neusignierung wird der Packagename sowie die haupt-Activity angezeigt, die man für das Testing braucht

Das Programm wurde unter Windows getestet und sollte problemlos unter Mac&Linux laufen, ich wäre für kurze Rückmeldung sehr dankbar.

Hier nochmal zum Download: re-sign.jar


Anddbviewer


Ich möchte hier ein kleines Tool vorstellen mit dem man Datenbanken auf Android Geräten bequem bearbeiten kann. Es entstand aus der Not heraus, Datenbanken bearbeiten zu müssen (was früher oder später zwangsläufig anfällt) und war zunächst nur ein dirty hack. Auf der Droidcon 2010 wurde ich von einem der Veranstalter überredet es doch mal auf dem Droidcamp der Androidgemeinde vorzustellen. Ich hielt unvorbereitet und ohne schicke Folien einen kurzen Vortrag hierzu und stellte das Tool vor. Die Resonanz war größer als bei dem eigentlich geplanten Vortrag zum Thema Java Applet Plugin. Dem Versprechen das Tool zu opensourcen (openzusourcen?) bin ich nun nachgegangen. Ich habe mich für die Apache Lizenz entschieden und habe das Projekt nun in troidos github account (github.com/troido) als öffentliches repository angelegt.

Android und seine Datenbanken

Android unterstützt von Hause aus SQLite Datenbanken. SQLite arbeitet direkt auf Dateien, so dass jede Datenbank in einer Datei enthalten ist. Diese Datei enthält alle Tabellen, Indizes, Views...
Die Dateien findet man unter /data/data//databases. Um diese Dateien zu bearbeiten, kann man einen beliebigen SQLite Editor benutzen. Mit adb pull /data/data//databases/datenbank.db lädt man die Datei vom Gerät und kann diese dann mit adb push wieder auf das Gerät hochladen. Bequem ist das allerdings nicht.

Android DB Editor

Der Android DB Editor listet alle angeschlossenen Geräte, deren Packages und die Datenbanken in einer TreeView. Die Kommunikation passiert über adb, so dass keine Software auf dem Gerät selbst installiert werden muss, allerdings macht es das Ganze etwas langsamer. Mit Doppelklick auf eine Datenbank wird diese auf den Computer übertragen und mit dem eingestellten Editor geöffnet. Der Editor ist beliebig, ich habe mich hier für den freien und guten SQLite Database Browser entschieden (link). Der Android DB Editor registriert gleichzeitig einen Listener, der die Datenbank bei jedem Speichern wieder auf das Gerät überträgt.
Bleibt anzumerken, dass man die jeweilige Software auf dem Gerät neustarten muss, um diese Änderungen auch zu übernehmen.

Was braucht man um loszulegen?

Hier ist ein Archiv mit dem Android DB Editor und dem SQLite Browser DOWNLOAD
Das Archiv kann unter c:\androiddbeditor entpackt werden oder die enthaltene settings.ini angepasst werden um auf den SQLite Browser zu zeigen.
Mac und Linux User müssen die settings.ini anpassen und den Pfad zu ihrem SQLite Editor einstellen.
Voraussetzungen sind ein installiertes SDK mit eingestellten Pfaden sowie ein gerootetes Gerät. Alternativ kann der Emulator benutzt werden, dieser ist einem gerooteten Gerät gleichzusetzen.