Update und Rooting Google Galaxy Nexus

Nachdem ich mir am Erscheinungstag via Sunrise (die das Modell aktuell exklusiv haben) ein Google Galaxy Nexus gekauft habe, habe ich nach einigem Rumprobieren und Lesen im Internet feststellen müssen, dass die verkaufte Version mit einem ROM von Samsung (yakjuXX, wobei XX zwei weitere Buchstaben wie sc oder xw sind) und nicht einem ROM von Google (yakju) bestückt ist. Diese Info sieht man im Telefon leider nirgends – aber beispielsweise mit der Applikation “Android DUMP” aus dem Market kann diese Information im Abschnitt “Build Info” unter “Product” gefunden werden.

Da dies die Original-Updates von Google verhindert, habe ich mich entschlossen, das komplett eingerichtete Telefon nochmal zu löschen, mit der Original-Firmware von Google auszustatten und schlussendlich auch die Root-Rechte zu erlangen. Bereits früher habe ich dies auf einem Nexus S versucht, bin jedoch auf meinen Windows PC’s gnadenlos gescheitert. Auch dieses Mal war es leider nicht anders – ich habe es mit allen möglichen USB-Treibern (von Samsung, PDANet, SDK, etc) unter Windows 7 64bit versucht, jedoch ohne Erfolg.

Nach stundenlangem erfolglosem Rumprobieren hat der Wechsel des Betriebssystems jedoch Erfolg gebracht – auf Mac OS X war die Sache völlig problemlos und ruckzuck erledigt. Das ist das erste Mal, dass ich um einen Mac froh bin… :)

Also, es werden nun noch die folgenden Zutaten auf dem Mac benötigt (im selben Verzeichnis und entpackt):
- Tools
- Factory Image von Google für Galaxy Nexus “maguro”

Auf dem Telefon unter “Einstellungen, Entwickleroptionen” den Punkt “USB-Debugging” einschalten und dann das Handy mit einem USB-Kabel am Mac anschliessen.
Die folgenden Schritte erfolgen wie üblich auf eigenes Risiko.

Auf dem Mac ein Terminalfenster öffnen und in das angelegte Verzeichnis wechseln und die folgenden Befehle eingeben:

* Unlock *
./adb reboot bootloader (das Telefon sollte anschliessend neu starten)
./fastboot oem unlock (um das Telefon zu entsperren, sofern “LOCK STATE – LOCKED” angezeigt wird)

* Original Image (bei mir 4.0.2)*
./flash-all.sh (stammt aus dem Factory-Image von Google)

* Rooting *
./adb reboot bootloader
./fastboot boot boot.superboot.img

Nach dem letzten Befehl startet das Telefon automatisch neu. Durch die Umstellung auf root dauert der Boot-Prozess bis zu 15 Minuten, d.h. bitte 15 Minuten warten, falls sich auf dem Bildschirm nichts tut. Danach kann die Batterie entnommen und wieder eingesetzt werden – der normale Bootprozess sollte nun stattfinden.

Als letzter Punkt ist zu empfehlen, die App “ROM Manager” aus dem Market zu installieren und dort den Punkt “ClockworkMod Recovery installieren” auswählen. Damit kann dann ein Backup des gesamten Handys gemacht werden.

AppWrench für Google App Engine

Wer mit der Google App Engine (GAE) arbeitet, kennt das Problem ziemlich sicher: wie teste ich lokal mit denselben Daten, die ich auf der GAE gespeichert habe? Oder wie exportiere ich die Daten aus GAE?

Als Basis für die Entwicklung mit der GAE dient ja meistens Eclipse, so auch bei mir. Wenn man lokal arbeitet, kann man den lokalen Datastore ja auch mit dem Browser abrufen, und zwar unter: http://localhost:8888/_ah/admin/datastore. Im Gegensatz zur “richtigen” Version kann man die Datensätze jedoch nicht editieren, sondern nur löschen.

Nach längerer Suche und ersten Gedanken, ob ich wohl selber einen Dataviewer für die GAE bauen soll, bin ich auf AppWrench von OnPositive Technologies gestossen. Dabei handelt es sich um eine Serie von Eclipse-Plugins, die die Entwicklung und das Testen von Java-Applikationen vereinfachen.

Nach der Installation ist in Eclipse ein neuer View “Google Apps Data View” verfügbar:

In dieser View können die einzelnen Tabellen ausgewählt werden und anschliessend “Access-like” dargestellt und editiert werden. Dabei können die Einträge auch exportiert und importiert werden – ein unschätzbarer Vorteil bei der Entwicklung! Hier ein Beispiel für das manuelle Hinzufügen eines einzelnen Eintrages in einer meiner eigenen Tabellen:

Neben den neuen View-Funktionalitäten gibt es auch eine neue Toolbar, mit welcher zum Beispiel zwischen lokalem Entwicklungsserver (L) und dem GAE-Server (R) umgeschalten werden kann:

Neben den Daten kann übrigens auch der Blob-Store angeschaut werden. Insgesamt für mich ein unverzichtbares Tool für die Entwicklung mit der GoogleAppEngine, welches ein 5 Stern-Rating (*****) absolut verdient!

Gmail und Outlook: Fehler (0x800CCC0F) Abonnierte Ordner

Wer mit Outlook 2010 via IMAP-Protokoll seinen Gmail-Account synchronisieren möchte, kennt vermutlich den folgenden Fehler: “Fehler (0x800CCC0f) beim Ausführen der Aufgabe ‘Abonnierte Ordner für ‘xy@gmail.com’ werden synchronisiert”: “Von Outlook können keine abonnierten Order für ‘xy@gmail.com’ synchronisiert werden.”

Auf die Funktionalität des Mailaustausches hat der Fehler keinen Einfluss, weil das Mail im Schritt vorher problemlos synchronisiert werden konnte. Allerdings nervt dieser Fehler gewaltig, weil nämlich die Synchronisation immer hängen bleibt und bei ungeübten Benutzern Irrationen hervorruft.

Nach Suche im Internet und selber Ausprobieren hier die Schritte zur Lösung dieses Problems:

  • allfällig geöffnetes Outlook schliessen
  • in der Weboberfläche von Gmail ein neues Label “Google Mail” erstellen
  • Outlook starten
  • in der Navigationsleiste auf “Ordner” klicken, dann den Punkt “IMAP-Ordner” in der Symbolleiste auswählen
  • auf die Lasche “Abonnierte” klicken und den Button “Abfrage” drücken
  • bis zum Ordner “Google Mail” blättern (den wir vorhin mit dem Label angelegt haben) und diesen Eintrag auswählen
  • den Button “Abo kündigen” drücken, worauf der Ordner aus der Liste verschwindet
  • OK drücken
  • auf die Lasche “Senden/Empfangen” wechseln und das erste Icon “alle Ordner senden/empfangen” drücken

Das müsste nun bereits ohne Fehler funktionieren – falls nicht, sollte spätestens nach einem Neustart von Outlook das Problem verschwunden sein.