Unlocking Google Nexus 5X und Nexus 6P

Nachdem die neuen Nexus-Geräte nun langsam aber sicher auch in der Schweiz verfügbar sind, geht es an die üblichen Migrationsarbeiten…

Als erstes ist zu prüfen, ob eine ROM-Aktualisierung vorliegt, welche allenfalls auf das Gerät aufgespielt werden sollte. Damit dies geschehen kann, muss das Gerät entsperrt werden.

Beim Nexus 5X ging das noch so wie früher:

adb reboot bootloader
fastboot oem unlock

Interessanterweise funktioniert das beim Nexus 6P nicht mehr, da ist die Syntax neu und darum muss auch auf das neuste Android SDK gewechselt werden:

adb reboot bootloader
fastboot flashing unlock

Damit sind die Geräte für die neuesten Updates bereit. Leider wird jetzt neuerdings beim Starten des Geräts noch eine zusätzliche Warnung wegen dem offenen Gerät ausgegeben.

Mit der Version 6 von Android ist auch noch ein neues Image bzw. eine neue Partition auf dem Gerät hinzugekommen, so dass sich die Update-Sequenz nun wie folgt präsentiert:

adb reboot bootloader
fastboot flash bootloader bootl*.img
fastboot reboot-bootloader
fastboot flash radio radio*.img
fastboot reboot-bootloader

Danach entweder:
fastboot -w update image*.zip

Oder:
fastboot flash boot boot.img
fastboot flash recovery recovery.img
fastboot flash system system.img
fastboot flash vendor vendor.img
[fastboot flash userdata userdata.img]
fastboot flash cache cache.img

LED-Notification auf Nexus 6

Wer sich einmal an die bei den Nexus-Telefonen vorhandene Status LED gewöhnt hat, möchte diese nicht mehr missen. Beim neuen Motorola/Google Nexus 6 wird in den Unterlagen nirgends eine LED erwähnt, aber zum Glück gibt’s trotzdem eine.

nexus6

Im Gegensatz zu den alten Modellen ist in diesem Fall aber ein gerootetes Gerät notwendig, damit die LED genutzt werden kann. Ebenso braucht man dafür noch die App „Light Flow“, welche das Verwalten der zugehörigen Regeln erlaubt.

In der Light Flow App sind die folgenden Einstellungen zu machen:
– Geräteeinstellungen und Root (Einschalten von Direktmodus, Root-Modus, Jeden Befehl mit Root ausführen)
– bei den einzelnen Alarm-Einstellungen unter Licht/LED ist der „Farbmischer“ einzuschalten und dann können die LED nach Bedarf gemischt werden (oben abgebildet ist das reine Rot).

2014-12-24 11.58.112014-12-24 11.57.44 

Mit diesen Einstellungen sollte dann auch das versteckte LED einwandfrei funktionieren.

Update auf Android 4.3

Auf meinen verschiedenen Nexus-Geräten nutze ich den franco.kernel, welcher vor allem auf dem Nexus 4 eine deutliche Verlängerung der Batterie-Laufzeit bewirkt hat. Was ich jedoch nicht bedacht habe, ist die Tatsache, dass dadurch der originale Update auf neue Versionen nicht mehr möglich ist. Aus diesem Grund musste ich jetzt für den Update auf die neue Version 4.3 verschiedene Optionen abwägen – das einzige was nicht in Frage kommt, ist das komplette Löschen des Geräts… 🙂

Die einfachste Möglichkeit für den Update ist aus meiner Sicht nun das Downloaden des kompletten neuen ROM’s von Google und der selektive Update der verschiedenen Images. Aus dem Download sind dann die .img-Dateien plus aus dem „image-….zip“ ebenfalls auch noch die enthaltenen .img’s zu extrahieren.

Danach geht’s weiter zum Command-Prompt mit installiertem SDK:

adb reboot bootloader
fastboot flash bootloader bootloader*.img
fastboot reboot-bootloader
fastboot flash radio radio-*.img
fastboot reboot-bootloader
fastboot flash system system.img
fastboot flash boot boot.img
fastboot format cache
fastboot reboot

Zum Schluss fehlt nun noch das erneute Rooting – das funktioniert am einfachsten, wenn das entsprechende superuser.zip lokal auf das Gerät kopiert wird und dann mittels Recovery (adb reboot recovery oder Power/VolDown bei Gerätestart) aufgespielt wird.

Bilder für Fotoalbum hochskalieren

Wer kennt das Problem nicht? Das Fotobuch mit den eigenen Bildern ist fast fertig, es fehlen nur noch ein paar ergänzende Fotos oder Informationen aus dem Internet. Typischerweise kann das ein Screenshot von Google Maps sein, damit man sieht, wo man so rumgereist ist.

Um nun diesen Screenshot in einem Fotobuch verwenden zu können, muss dieser im richtigen Format geschossen und anschliessend hochskaliert werden. Dabei hat sich folgendes Vorgehen bewährt:

  1. Screenshot in .TIFF-Format speichern
  2. Datei dann auf 200-300% vergrössern
  3. .TIFF-Datei dann als .jpg (mit 100% Qualität) speichern

Um dies zu erreichen, sind zwei meiner bewährten Programm-Tipps notwendig (die übrigens beide für den Privatgebrauch gratis sind): Greenshot für das Erstellen des Screenshots und der FastStone Image Viewer für das Skalieren und Speichern.

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.