23. Juni 2013

Android: WLAN-Konnektivität prüfen

Innerhalb einer Android-App kann es sinnvoll sein, zu überprüfen, ob das Gerät im Moment über eine aktive WLAN-Verbindung verfügt. Dies ist beispielsweise sinnvoll wenn Netzwerkzugriffe mit erhöhtem Datendurchsatz nicht über die mobile Datenverbindung ausgeführt werden sollen. Im Folgenden soll daher gezeigt werden, wie aus einer Activity heraus überprüft werden kann, ob eine WLAN-Verbindung verfügbar ist.

Den notwendigen Zugriff auf den WLAN-Adapter erlangt man über die Verwendung des sogenannten ConnectivityManager. Eine Referenz auf diesen erhält man durch den Aufruf der getSystemService-Methode der Klasse Context, indem man als Parameter die Konstante Context.CONNECTIVITY_SERVICE übergibt und den Rückgabewert entsprechend castet. Über einen anschließenden Aufruf der getNetworkInfo-Methode des eben referenzierten Services, wobei hierbei der Parameter ConnectivityManager.TYPE_WIFI übergeben werden muss, erhält man dann ein Objekt der Klasse NetworkInfo, über das Informationen über den WLAN-Adapter bezogen werden können. Dessen Konnektivität kann über die isConnected-Methode abgefragt werden.
 ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);  
 NetworkInfo wifiNetworkInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);  
 boolean wlanConnectionAvailable = wifiNetworkInfo.isConnected();  
Um den Zugriff auf den WLAN-Adapter zu erhalten muss außerdem, wie folgendermaßen dargestellt, eine entsprechende Permission in der AndroidManifest.xml definiert werden.
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  

21. Juni 2013

Android: Drawable skalieren

Der folgende Code zeigt, auf welche Weise eine Grafik, die als Drawable-Objekt vorliegt, in einer Android-App auf eine bestimmte Größe skaliert werden kann. Dazu muss das Drawable-Objekt über die Methode getBitmap():Bitmap zunächst in ein Bitmap-Objekt konvertiert werden. Dieses kann anschließend über die statische createScaledBitmap-Methode der Klasse Bitmap skaliert werden, indem die Objektreferenz, sowie die erwünschte Breite und Höhe des skalierten Bildes in Pixeln übergeben wird. Die Methode gibt als Rückgabewert ein skaliertes Duplikat des übergebenen Bitmap-Objektes zurück. Als letzter Schritt muss dann dieses Bitmap-Objekt zurück in ein Drawable-Objekt konvertiert werden, was über den Konstruktur der Klasse BitmapDrawable möglich ist.
 Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap();  
 Bitmap resizedBitmap = Bitmap.createScaledBitmap(bitmap, 50, 50, false);  
 Drawable scaledDrawable = new BitmapDrawable(resources, resizedBitmap);  
Bei dem Objekt drawable im obigen Beispielcode handelt es sich um das zu konvertierende Drawable-Objekt, welches auf 50 x 50 Pixel skaliert werden soll. Das Objekt scaledDrawable enthält am Ende das skalierte Bild.

Ubuntu: Cloud-Dienst "Ubuntu One" komplett entfernen

Seit Ubuntu 10.10 wird die Linux-Distribution von Entwickler Canonical mit dem Filehosting-Dienst "Ubuntu One" ausgestattet. Über diesen lassen sich, ähnlich wie etwa bei Dropbox oder Google Drive, lokale Dateien über einen Cloud-Server mit anderen Ubuntu- oder Windows-PCs, sowie mobilen Endgeräten mit Android oder iOS, synchronisieren. Die Synchronisation der Dateien erfolgt dabei jeweils über eine native Client-Anwendung, wobei jedoch auch über eine Web-Schnittstelle auf die, in der Cloud gespeicherten Daten, zugegriffen werden kann. Darüber hinaus enthält Ubuntu One auch einen Musik-Streaming-Dienst.

Der Eintrag zu Ubuntu One in der Statusleiste von Ubuntu 13.10 (Klicken zum Vergrößern)

Wer den Dienst unter Ubuntu jedoch nicht nutzt, möchte diesen vielleicht aus seinem System entfernen, da durch ihn unter anderem ein Symbol in der Statusleiste, sowie verschiedene Menüpunkte in  Kontextmenüs angezeigt werden, die unnötig Aufmerksamkeit auf sich lenken und Platz reservieren. Aus diesem Grund sollen an dieser Stelle diejenigen Komponenten des Dienstes genannt werden, die für eine vollständige Deinstallation entfernt werden müssen. Dazu gehört die Client-Software, sowie ihre Benutzeroberfläche und der Eintrag in der Statusleiste. Alle diese Pakete lassen sich über folgenden Konsolenbefehl entfernen:
 sudo apt-get remove --purge ubuntuone-client ubuntuone-client-gnome ubuntuone-control-panel ubuntuone-control-panel-gtk  
Nach der Deinstallation muss man sich gegebenenfalls kurz abmelden und neu anmelden, so dass alle Einträge von Ubuntu One aus der Benutzeroberfläche entfernt werden.

20. Juni 2013

Ubuntu: Performance-Einbußen durch Compiz und Intel N10-Grafikchipsatz *Workaround*

Unter Ubuntu kann es bei der Verwendung des Fenstermanagers Compiz auf einem PC, der den Onboard-Grafikchipsatz "Intel N10" verwendet, zu starken Performance-Einbußen im Zusammenhang mit hohen Bildschirmauflösungen kommen. Dieser Bug dann auf, wenn die Auflösungen aller angeschlossenen Bildschirme in vertikaler oder horizontaler Richtung den Wert von 2024 Pixeln überschreitet. Eine solche Konstellation ergibt sich leicht, wenn ein externer Monitor oder Beamer an den PC angeschlossen wird, oder ein Notebook, für welche der Onboard-Grafikchip "Intel N10" sich besonders eignet, über eine Docking-Station an zwei Monitoren betrieben wird.

Dieser Bug, der zu sehr starken Performance-Einbrüchen der Ubuntu-Benutzeroberfläche Unity führen kann, tritt auf, wenn unter Compiz das Plugin "Copy to texture" aktiviert ist. Dadurch wird der Inhalt des Desktops, der als sogenannte "Pixmap", also als zweidimensionales Abbild der verschiedenen Farbcodierungen für die jeweiligen Pixel, vorliegt, in den Textur-Puffer von OpenGL kopiert. Eine solche OpenGL-Textur darf jedoch maximal eine Größe von 2024 x 2024 Pixeln aufweisen, was zu den beschriebenen Problemen führt.

Das Plugin "Copy to texture" im Compiz Einstellungs-Manager "CCSM" (Klicken zum Vergrößern)

Falls das beschriebene Problem, das unter diesem Link als Bug-Report auf Launchpad aufgeführt ist, auftritt, so schafft das Deaktivieren des entsprechenden Compiz-Plugin Abhilfe. Dies lässt sich einfach über den Compiz Einstellungs-Manager "CCSM" bewerkstelligen, indem der Haken vor dem entsprechenden Plugin entfernt wird. CCSM lässt sich durch folgenden Befehl über die Ubuntu-Paketverwaltung installieren:
 sudo apt-get install compizconfig-settings-manager

16. Juni 2013

In eigener Sache: <netz.kinder/> ist nun bei Google Currents verfügbar

Dieser Blog ist von nun an auch über Googles News-Dienst "Currents" verfügbar. Google Currents ist als App für Android-Smartphones und -Tablets, sowie für die iOS-Plattform, also für Apples iPhone und iPad, verfügbar. Der Dienst erlaubt dabei verschiedene News-Kanäle, die über Currents angeboten werden zu abonnieren um geräteübergreifend auf die jeweils neuesten Artikel zugreifen zu können. Weitere Informationen sind unter diesem Link verfügbar.

Die Artikelübersicht dieses Blogs in der Google Currents-App unter Android (Klicken zum Vergrößern)

Galaxy Nexus: CyanogenMod flashen

In diesem Artikel soll erläutert werden, wie es möglich ist, das Android-CustomROM "CyanogenMod" auf dem Smartphone "Samsung Galaxy Nexus" zu installieren. Hierfür ist ein Gerät notwendig, dessen Bootloader entsperrt wurde und auf dem der alternative Recovery-Modus "ClockworkMod Recovery" installiert wurde. Außerdem muss auf dem PC von dem aus die Installation durchgeführt werden soll, das Tool adb installiert sein. Die hierfür notwendigen Schritte wurden in diesem Blog bereits im Rahmen dieses Artikels beschrieben.

Zunächst muss die zu installierende Version des CustomROMs von der offiziellen Download-Seite heruntergeladen werden. Die CyanogenMod-Versionen, die für die Installation auf einem Galaxy Nexus vorgesehen sind, tragen dabei den Namen "maguro". Man hat hierbei die Wahl zwischen sogenannten Nightly-Builds, die ihrem Namen entsprechend täglich aktualisiert werden und stets dem aktuellen Entwicklungsstand entsprechen, oder den sogenannten Release Candidates, die in größeren Zeitabständen veröffentlicht werden und dementsprechend einen stabileren Entwicklungsstand garantieren. Die Nightly-Builds sind unter dieser Adresse verfügbar, während die Release Candidates unter dieser Adresse heruntergeladen werden können.

Die Download-Seite für die RC-Versionen von CyanogenMod "magura" (Klicken zum Vergrößern)

Außerdem sollten auch die Google-Apps heruntergeladen werden, die üblicherweise auf einem Android-Smartphone vorinstalliert sind. Aus lizenzrechtlichen Gründen sind diese nicht in dem Cyanogenmod-Download enthalten und müssen separat von der Seite http://goo.im/gapps bezogen werden. Zum Zeitpunkt der Verfassung dieses Artikels (16. Juni 2013) war die aktuelle Version der Apps unter diesem Direktlink verfügbar.

Nach dem Herunterladen der Dateien sind folgende Schritte notwendig um die jeweilige CyanogenMod-Version inklusive der Google-Apps auf dem Smartphone zu installieren. Dabei ist jedoch zu beachten, dass alle Daten, die auf dem Gerät gespeichert sind, verloren gehen!
  1. Zunächst muss das Galaxy Nexus durch gleichzeitiges Halten der beiden Lautstärke- und der Power-Taste in den sogenannten Bootloader-Modus neugestartet werden.
  2. Über die Lautstärke-Tasten navigiert man nun zu der Option "Recovery mode", welche über Drücken der Power-Taste ausgewählt werden kann.
  3. Es sollte das Hauptmenü von ClockworkMod Recovery sichtbar werden, das wie bereits ewähnt auf dem Gerät installiert sein muss. Über die Lautstärke-Tasten navigiert man zu dem Eintrag "wipe data/factory reset" und bestätigt die Auswahl über die Power-Taste. Die erscheinende Sicherheitsabfrage bestätigt man ebenfalls auf diese Weise mit "Yes". Dadurch werden alle Daten auf dem Gerät gelöscht.
  4. Das Gerät muss nun über ein MicroUSB-Kabel mit dem PC verbunden werden. Über den folgenden Befehl kann überprüft werden, ob das die Verbindung korrekt hergestellt werden konnte. In diesem Fall sollte die Seriennummer des angeschlossenen Smartphones ausgegeben werden.
     adb devices  
    
  5. Nun müssen die zuvor heruntergeladenen Dateien auf das Smartphone kopiert werden. Dies geschieht am einfachsten über die folgenden beiden Konsolenbefehle aus dem jeweiligen Verzeichnis heraus. Die beiden Dateinamen müssen hierfür natürlich möglicherweise angepasst werden.
     adb push cm-10.1.0-RC5-maguro.zip /data/media  
     adb push gapps-jb-20130301-signed.zip /data/media  
    
  6. Damit die kopierten Dateien für die Auswahl im Recovery-Modus sichtbar werden, muss dieser neu gestartet werden. Dies ist über folgenden Befehl möglich.
     adb reboot recovery  
    
  7. Auf dem Smartphone, bzw. in dem Menü von ClockworkMod Recovery muss nun die Option "install zip from sdcard" und anschließend "choose zip from sdcard" gewählt werden. Das zip-Archiv, das die zu installierende CyanogenMod-Version enthält sollte auf diese Weise aus dem Verzeichnisbaum ausgewählt werden können. Es sollte sich dabei im Wurzelverzeichnis befinden. Nachdem die Auswahl mit "Yes" bestätigt wurde, wird das CustomROM auf das Gerät geflasht. Dabei kann es in manchen Fällen zu einem Fehler kommen, der "assert failed" lautet. In einem solchen Fall muss der am Ende dieses Artikels beschriebene Workaround angewendet werden um anschließend die Installation erneut durchzuführen.
  8. Analog zum vorherigen Schritt muss nun auch das zip-Archiv, das die Google-Apps enthält zur Installation ausgewählt werden.
  9. Abschließend kann im Hauptmenü von ClockworkMod Recovery die Option zum Neustart des Geräts gewählt werden, woraufhin die frisch installierte Android-Version gebootet wird.

Workaround bei Fehlermeldung "assert failed"


Bei der Installation der Cyanogenmod-Version kann es zu einem Fehler kommen, der etwa wie folgt lautet und zu einem Abbruch der Installation führt.

assert failed: getprop("ro.product.device") == "manduro" || getprop("ro.build.product")=="manduro" 

In einem solchen Fall muss eine Datei innerhalb des zip-Archivs, das zur Installation genutzt wird, modifiziert werden. Die folgenden Schritte zeigen wie hierfür vorgegangen werden muss:
  1. Zunächst muss das betroffene Archiv mit einer dafür geeigneten Anwendung, wie z.B. WinRAR unter Windows oder FileRoller oder ARK unter Linux, geöffnet werden ohne die den Inhalt zu entpacken.
  2. Die Datei /META-INF/com/google/android/updater-script muss nun mit einem Texteditor geöffnet werden.
  3. Die erste Zeile der Datei, bzw. der Text bis zu dem ersten Semikolon muss gelöscht werden. Es ist wichtig, dass hierbei auch das Semikolon entfernt wird. Anschließend muss die Datei gespeichert und das Archiv dadurch aktualisiert werden.
Das auf diese Weise modifizierte zip-Archiv muss anschließend wie bereits oben beschrieben auf das Smartphone kopiert werden, wo es über ClockworkMod Recovery installiert werden kann.

Galaxy Nexus: Rooten unter Linux

In der folgenden Anleitung sollen die Schritt erläutert werden um das Smartphone "Samsung Galaxy Nexus" unter einem Linux-System zu rooten um erweiterte Rechte zu erhalten. Voraussetzung hierfür ist, dass die Tools adb und fastboot zuvor installiert wurden. Die Schritte dieser Anleitung führen zur Löschung aller internen Daten auf dem Gerät. Da das Galaxy Nexus keine SD-Karte besitzt gehen dadurch alle gespeicherten Daten verloren!

Das Samsung Galaxy Nexus (Bildquelle: androidmag.com; Klicken zum Vergrößern)

Entsperren des Bootloaders


Der erste Schritt zum Rooten des Geräts ist das Entsperren des Bootloaders. Dies ist notwendig um anschließend einen alternativen Recovery-Modus installieren zu können.
  1. Das Gerät muss hierfür zunächst durch Halten beider Lautstärke-Tasten, sowie der Power-Taste in den Bootloader-Modus gestartet werden.
  2. Das Smartphone muss nun über ein MicroUSB-Kabel mit dem PC verbunden werden.
  3. Anschließend kann über eine Konsole auf dem Linux-System die korrekte Verbindung über folgenden Befehl überprüft werden. Falls eine korrekte Verbindung besteht, sollte die Seriennummer des Smartphones ausgegeben werden.
     sudo fastboot devices  
    
  4. Ist diese Bedingung erfüllt, so kann in diesem nächsten Schritt der folgende Befehl eingegeben werden um den Bootloader zu entsperren. Um die Entsperrung zu bestätigen muss dabei die erscheinende Abfrage mit "Yes" beantwortet werden, indem über die Lautstärke-Tasten zu dem entsprechenden Menüpunkt navigiert wird und die Auswahl anschließend mit der Power-Taste bestätigt wird.
     sudo fastboot oem unlock  
    
  5. In dem nun erscheinenden Menü muss nun auf die selbe Weise über die Lautstärke-, bzw. der Power-Tasten, der Recovery-Modus ausgewählt werden. Es sollte nun das Android-Maskottchen auf dem Rücken liegend mit einem roten Warndreieck dargestellt werden. Über zufälliges Drücken der Lautstärke- und Power-Tasten sollte ein Menü sichtbar werden, über dieses dann die Option "wipe data/factory reset" gewählt und anschließend bestätigt werden muss (Hierdurch werden die Daten auf dem Gerät gelöscht).

ClockworkMod Recovery installieren


Wie bereits erwähnt muss im folgenden Schritt ein alternativer Recovery-Modus installiert werden, der erweiterte Modifikationen und das Installieren von Custom-ROMs erlaubt. In diesem Fall handelt es sich dabei um "ClockworkMod Recovery", dessen Installation in den folgenden Schritten erläutert wird:
  1. Zuerst muss das Gerät einmal mehr über das Halten der beiden Lautstärke- und der Power-Taste in den Bootloader-Modus gestartet werden.
  2. Anschließend nun der alternative Recovery-Modus "ClockworkMod Recovery" heruntergeladen und auf das Gerät gespielt werden. Die hierfür notwendige Datei ist unter diesem Link verfügbar.  Nach dem Download der Datei wechselt man per Konsole in das entsprechende Verzeichnis, in dem diese gespeichert wurde und führt folgenden Befehl aus um den Recovery-Modus auf dem Galaxy Nexus zu installieren.
     sudo fastboot flash recovery recovery-clockwork-5.5.0.4-toro.img  
    
  3. Nachdem angezeigt wird, dass das Flashen von ClockworkMod Recovery erfolgreich abgeschlossen wurde, kann das Gerät über den unten stehenden Befehl neu gestartet und das Android-Betriebssystem gebootet werden.
     sudo fastboot reboot  
    
  4. Um zu testen, ob Recovery-Modus korrekt installiert werden konnte, sollte das Gerät nun erneut, wie bereits beschrieben, in den Bootloader-Modus gestartet werden. In dem entsprechenden Menü wählt man dann die Option zum Starten des Recovery-Modus. Falls ClockworkMod Recovery erfolgreich installiert wurde, ist die über eine Ausgabe der installierten Version ersichtlich. Falls stattdessen der Stock-Recovery-Modus, bei dem der bereits beschriebene, auf dem Rücken liegende, Androide angezeigt wird geladen wird, wurde der installierte Recovery-Modus beim Starten des Betriebssystems überschrieben. In diesem Fall  muss der im Folgenden beschriebene Workaround angewendet werden um anschließend die vorherigen Schritte zur Installation von ClockworkMod Recovery erneut auszuführen.
Das Hauptmenü von ClockworkMod Recovery (Bildquelle: theunlockr.com; Klicken zum Vergrößern)

Überschreiben von ClockworkMod Recovery verhindern


Die folgenden Schritt sind nur notwendig wenn, wie zuvor beschrieben, die Installation des alternativen Recovery-Modus gescheitert ist, indem dieser durch das anschließende Booten des Android-Betriebssystems überschrieben wurde.

Falls ClockworkMod Recovery beim Starten von Android überschrieben wird, liegt das an der Datei /system/etc/install-recovery.sh, die beim Bootvorgang ausgeführt wird und dafür sorgt, dass der Stock-Recovery-Modus wiederhergestellt wird. Die folgenden Schritte stellen einen Workaround dar, durch den dieses Verhalten verhindert werden kann.
  1. Das Galaxy Nexus muss über das MicroUSB-Kabel mit dem PC verbunden werden. Dabei muss das Android-Betriebssystem regulär gestartet worden sein und in den Entwickleroptionen das USB-Debbuging aktiviert werden. Über folgenden Konsolenbefehl kann die korrekte Funktion der Verbindung überprüft werden. Der Befehl sollte als Ausgabe die Seriennummer des angeschlossenen Geräts anzeigen.
     adb devices  
    
  2. Anschließend muss folgender Befehl in der Linux-Konsole ausgeführt werden. Dadurch wird eine Shell gestartet über die sich auf das Gerät zugreifen lässt.
     adb shell  
    
  3. In dieser adb-Shell müssen nun nacheinander folgende Befehle ausgeführt werden, um die bereits erwähnte Datei install-recovery.sh in install-recovery.bak umzubenennen. Dadurch kann sie vom System nicht mehr gefunden und ausgeführt werden um den Stock-Recovery-Modus wiederherzustellen.
     su  
     mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system  
     chmod 755 /system/app  
     cd system/etc  
     mv install-recovery.sh install-recovery.bak  
     exit 
Die Installation von ClockworkMod Recovery kann nun nach den, im vorherigen Abschnitt "ClockworkMod Recovery installieren" bereits aufgeführten, Schritten erneut durchgeführt werden. Anschließend sollte die Installation auch nach erneutem Booten des Android-Betriebssystems erhalten bleiben.

Root-Rechte erlangen


Nachdem nun eine funktionierende Version von ClockworkMod Recovery auf dem Gerät vorhanden sein sollte, muss dieser alternative Recovery-Modus nun dazu genutzt werden, die Root-Rechte zu erlangen. Dieses Vorgehen wird durch die folgenden Schritte beschrieben.
  1. Zunächst muss das Tool "SuperSU" unter dieser Adresse heruntergeladen werden. Bei bestehender USB-Verbindung zu dem Galaxy Nexus, welches ein weiteres mal erst in den Recovery-Modus versetzt werden muss, kann anschließend folgender Befehl ausgeführt werden, um das zip-Archiv aus dem Download-Verzeichnis heraus auf das Gerät zu kopieren.
     adb push UPDATE-SuperSU-v1.04.zip /data/media  
    
  2. Über folgenden Befehl wird das Smartphone nun erneut in den Recovery-Modus neugestartet.
     adb reboot recovery  
    
  3. Dort muss nun der Menüpunkt "install zip from sdcard" und anschließend "choose zip from sdcard" gewählt werden. Das zip-Archiv sollte im Root-Verzeichnis der SD-Karte zu finden sein. Nach dessen Auswahl und Installation kann das Gerät neu gestartet werden und sollte von nun an gerootet sein.
Mittels bestimmter Apps aus dem Google Play Store lässt sich überprüfen, ob das Gerät tatsächlich korrekt gerootet wurde. Hierfür eignet sich beispielsweise die App Root Checker.

3. Juni 2013

Nexus 10: CyanogenMod auf verschlüsseltem Gerät updaten

Das CustomROM "CyanogenMod" bietet seit Version 10 die Möglichkeit, vorhandene Updates automatisch herunterzuladen, so dass diese anschließend installiert werden können. Unter dem Nexus 10 oder ähnlichen Geräten, die über keine externe SD-Karte verfügen, kann das Einspielen der Updates  jedoch zu Problemen führen, falls das Gerät mittels der entsprechenden Android-Funktion verschlüsselt wurde. Im Folgenden soll diese Problematik erläutert und eine Möglichkeit zur Abhilfe gezeigt werden.

Die Update-Überprüfung von CyanogenMod 10 in den Android-Systemeinstellungen (Klicken zum Vergrößern)

Wenn ein Update zur Verfügung steht, wird das entsprechende zip-Archiv, dass die dafür notwendigen Dateien enthält, durch den Update-Mechanismus heruntergeladen und unter dem Verzeichnis /sdcard/cmupdater/ gespeichert. Wenn das Gerät über keine externe SD-Karte verfügt, handelt es sich bei diesem Verzeichnis lediglich um eine virtuelle Partition. Wenn das Update durch den Benutzer zur Installation ausgewählt wurde, wird das Gerät neu gestartet und in den Recovery-Modus (in diesem Post wird davon ausgegangen, das es sich hierbei um "ClockworkMod Recovery" handelt) gebootet um die Dateien des entsprechenden Archivs zu entpacken und zu installieren. Falls das Dateisystem des Geräts jedoch verschlüsselt wurde, steht die virtuelle SD-Karte, die das Archiv enthält, nicht zur Verfügung, da das zugehörige Verzeichnis auf dem verschlüsselten Dateisystem liegt und zu diesem Zeitpunkt keine Möglichkeit zu dessen Entschlüsselung besteht. Das Updaten des Geräts scheitert demzufolge, da die notwendige Datei nicht gefunden werden kann.

Die elegante Möglichkeit, die CyanogenMod-Installation von dem jeweiligen Gerät aus herunterzuladen und zu installieren, ist damit ausgeschlossen, falls das Gerät verschlüsselt werden soll. Das Einspielen von Updates muss dann über eine USB-Verbindung manuell gesteuert werden, wozu folgende Schritt nötig sind:
  1. Zunächst muss die zu installierende CyanogenMod-Version auf dem Rechner heruntergeladen werden.
  2. Anschließend muss das Android-Gerät durch Halten der Power-, sowie der beiden Lautstärke-Tasten in den Bootloader-Modus neu gestartet werden.
  3. Über die Lautstärke-Tasten navigiert man anschließend zum Menüpunkt "RECOVERY MODE", den man durch Drücken der Power-Taste auswählt.
  4. Der Recovery-Modus wird anschließend gestartet. In dessen Hauptmenü wählt man dann die Option "install zip from sideload".
  5. Das Gerät muss nun per Micro-USB mit dem Rechner verbunden werden.
  6. Über die Kommandozeile kann anschließend aus dem Verzeichnis, das das heruntergeladene zip-Archiv enthält an das Android-Gerät übertragen werden. Hierzu genügt folgender Befehl, wobei der Name der zip-Datei natürlich angepasst werden muss:
     adb sideload cm-10.1-20130603-NIGHTLY-manta.zip  
Das Update sollte darauf hin eingespielt werden und das Gerät kann anschließend neu gestartet werden.

2. Juni 2013

Nexus 10: CyanogenMod flashen

In diesem Post sollen die Schritte erläutert werden, die nötig sind um das Android-CustomROM "CyanogenMod" auf ein "Nexus 10"-Tablet zu flashen, wie die Installation eines solchen alternativen Betriebssystem genannt wird. Voraussetzung hierfür ist ein bereits gerootetes Gerät mit installiertem, alternativen Recovery-Modus. Das Rooten eines Nexus 10 unter Ubuntu wurde in diesem Blog bereits hier behandelt. Für die folgenden Schritte wird angenommen, dass auf dem Gerät der Recovery-Modus "ClockworkMod Recovery" gemäß dieser Anleitung installiert wurde.

Das Tablet "Nexus 10" (Bildquelle: google.de; Klicken zum Vergrößern)

Zunächst müssen die notwendigen Dateien zum Flashen des CustomROMs heruntergeladen werden. Die CyanogenMod-Versionen für das Nexus 10 tragen den Namen "manta". Es können entweder die Nightly-Builds gewählt werden, die stets den aktuellen Entwicklungsstand enthalten und unter der Adresse http://get.cm/?device=manta&type=nightly erhältlich sind, oder eine sogenannte Release Candidate-Version, die unter der Adresse http://download.cyanogenmod.com/?device=maguro&type=RC heruntergeladen werden kann und eine stabilere Version des alternativen ROMs darstellt. Auch weitere Releases, die nach ähnlichen Release-Zyklen veröffentlicht werden sind auf dieser Seite verfügbar. Auf diese soll an dieser Stelle jedoch nicht näher eingegangen werden.

Außerdem werden nach Bedarf die Google-Apps benötigt, die üblicherweise auf dem Nexus 10 installiert sind, aus urheberrechtlichen Gründen jedoch nicht in CyanogenMod enthalten sind. Diese sind unter http://goo.im/gapps/ erhältlich. Zum Zeitpunkt der Verfassung dieses Posts  (02. Juni 2013) war die aktuelle Version der Apps unter diesem Direktlink verfügbar.

Die heruntergeladenen Dateien müssen anschließend auf die virtuelle SD-Karte des Nexus-Geräts kopiert werden (z.B. in den Downloads-Ordner). Die folgenden Schritte führen ermöglichen dann das eigentliche Flashen (Achtung: Dabei gehen alle Daten bis auf diejenigen, die auf der SD-Card, bzw. der virtuellen Systempartition gespeichert sind, verloren!):
  1. Die Power-, sowie beide Lautstärke-Tasten des Geräts gedrückt halten bis in den Bootloader-Modus gestartet wird.
  2. In dem Menü der Bootloader-Modus mit den Lautstärke-Tasten den Menüpunkt "RECOVERY MODE" wählen und durch Drücken der Power-Taste bestätigen.
  3. In dem erscheinenden Menü des Recovery-Modus muss nun der Menüpunkt zum "wipe data/factory reset" gewählt werden.
  4. Anschließend muss im Hauptmenü des Recovery-Modus der Menüpunkt "install zip from sdcard" gewählt werden um das ZIP-Archiv, das die CyanogenMod-Dateien enthält, aus dem Verzeichnisbaum auszuwählen.
  5. Nach der Installation muss analog dazu die Datei, die die Google-Apps enthält, ausgewählt werden.
  6. Zuletzt muss im Hauptmenü die Option zum Reboot des Systems gewählt werden. Die installierte CyanogenMod-Version wird dann anschließend gestartet. Dabei wird der Installations-Assistent zur Einrichtung der Sprache, der Netzwerkverbindung und des Google-Kontos aufgerufen.