Schlagwort-Archive: android

Turn-by-turn navigation with a single click

I was always looking to start a navigation using Google Maps on Android with a just a single click. Of course you can set some presets or even a location, and since a few generations of Google now, there is even a navigation shortcut for your work or home address. But one thing, all these methods were missing: A real one click solution. Every shortcut only gets you to the calculated route, you always have to start the real navigation with another click.
Using tasker, I found a way to finally realize what i needed.
Tasker has support for intents and using the Google Maps-Intent works like a charm.

Create a new task.
Add System -> Send Intent
Action: android.intent.action.VIEW
Type: None
Data: google.navigation:q=location+you+look+for&mode=w

modes:

  • d for car (drive)
  • w for walk
  • b for bike

Take a look the the manual page for all options.

Amazon Fire Stick: Screensaver timeout

There are two timeouts for your fire stick:

  • Time until the screensaver starts
  • Time until the screen goes dark

The first one can be set in the preferences menu, the second only via adb. Enable debugging support on you device and connect via adb.

adb connect IP_ADDRESS
connected to IP_ADDRESS:5555
adb shell

Change the timeout:

shell@montoya:/ $ settings put system screensaver_timeout 30000
shell@montoya:/ $ settings put system screen_off_timeout 214760000
shell@montoya:/ $ settings get system screen_off_timeout
214760000

Facebook kauft WhatsApp

Gestern Abend wurde bekannt gegeben, dass Facebook den Messenger WhatsApp für 19 Milliarden Dollar (ca. 13,8 Milliarden Euro) übernehmen wird.

Aus diesem Grund nochmal der Verweis auf den „sicheren“ Messenger Threema. Mehr Infos und ein interessantes Interview mit den Entwicklern gibt es in einem Podcast bei monoxyd.

Android Version: Play Store
iOS Version: App Store

Deutsches Tastaturlayout für den Cyanogenmod auf dem HTC Dream/G1

Vor einiger Zeit habe ich die Installation des Cyanogenmod auf dem HTC Dream/T-Mobile G1 hier beschrieben. In den Standardeinstellungen ist ein englischen Tastaturlayout (QWERTY) aktiviert, so dass deutsche Umlaute nicht funktionieren. Zur Umstellung auf das deutsche QWERTZ Layout, wird ein Rechner mit Android SDK benötigt. Die Installation (für Linux) habe ich hier unter dem Punkt „Installation des Android SDK“ beschrieben.

Das Telefon per USB an den Rechner anschließen und vom tools Verzeichnis aus mittels

$ adb devices

überprüfen, ob es auch erkannt wurde. Sollte das Gerät in der Liste aufgeführt sein, muss als nächstes /system mit Schreibrechten neu gemountet werden. Anschließend wird eine shell geöffnet.

$ adb remount
$ adb shell

In die Shell folgende Zeilen kopieren:

cp /system/usr/keychars/trout-keypad-qwertz.kcm.bin /system/usr/keychars/trout-keypad-v3.kcm.bin
cp /system/usr/keychars/trout-keypad-qwertz.kcm.bin /system/usr/keychars/trout-keypad-v2.kcm.bin
cp /system/usr/keychars/trout-keypad-qwertz.kcm.bin /system/usr/keychars/trout-keypad.kcm.bin
cp /system/usr/keylayout/trout-keypad-qwertz.kl /system/usr/keylayout/trout-keypad-v3.kl
cp /system/usr/keylayout/trout-keypad-qwertz.kl /system/usr/keylayout/trout-keypad-v2.kl
cp /system/usr/keylayout/trout-keypad-qwertz.kl /system/usr/keylayout/trout-keypad.kl
reboot

Nach dem Neustart des Telefons ist das deutsche Layout aktiviert.

Quellen:

http://forum.xda-developers.com/showthread.php?t=504710

Android Entwicklung unter Ubuntu Linux – Eclipse mit ADT Plugin

Das eigene Programm auf dem neuen Mobiltelefon oder professionell Geld verdienen. Google und Android machen es einem einfach (wenn man weiß wie es geht). Google bietet neben der direkten Verwendung des Android SDK auch die Möglichkeit dieses mit dem Android Development Tools (ADT) Plug-in in die beliebte Entwicklungsumgebung Eclipse zu integrieren. Ich möchte hier die Installation und Konfiguration auf einem 64 Bit Ubuntu 10.4 Lucid Lynx beschreiben.

Installation von Eclipse

Bei Verwendung einer 64 Bit Version, werden zusätzlich die 32 Bit Bibliotheken benötigt. Unter Ubuntu installiert man diese mit

$ aptitude install ia32-libs

Außerdem wird Eclipse und das Java Development Kit (JDK) benötigt. Die aktuelle Version im Ubuntu-Repository ist 3.5.2, neuere Versionen findet man auf der Downloadseite von Eclipse, allerdings findet sich auf der Android Seite zu den Systemvoraussetzungen der Hinweis, dass die Android Development Tools mit Eclipse 3.6 (noch) nicht kompatibel ist.

Caution: There are known issues with the ADT plugin running with Eclipse 3.6. Please stay on 3.5 until further notice.

Wir bleiben also bei der 3.5.2 Version im Repository. Man hat nun Wahl zwischen verschiedenen Eclipsepaketen, wobei laut offizieller Installationsanleitung seit Eclipse 3.5 die „Eclipse Classic“ Version ausreicht. Unter Ubuntu braucht benötigt man allerdings aufgrund eines Bugs auch das „Eclipse Plug-in Development Environment“ (PDE), da die Installation eines Plug-ins (gilt auch für PDT oder CDT) mit der Fehlermeldung

Session context was:(profile=PlatformProfile,  phase=org.eclipse.equinox.internal.provisional.p2.engine.phases.Install,  operand=null –> [R]org.eclipse.cvs 1.0.400.v201002111343,  action=org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.InstallBundleAction).
The artifact file for osgi.bundle,org.eclipse.cvs,1.0.400.v201002111343 was not found.

abbricht. Installiert wird dieses zusammen mit dem benötigten Java Development Kit (JDK) mit

$ aptitude install sun-java6-jdk eclipse eclipse-pde

Installation des Android SDK

Als nächstes benötigen wir das „Android SDK Starter Paket“ mit dessen Hilfe wir die restlichen benötigten Daten installieren. Für unser Ubuntusystem laden wir uns das aktuelle Linux (i386) Paket runter. Nach dem Wechsel in den Downloadordner und Entpacken das Pakets mit

$ tar xfv android-sdk_r06-linux_86.tgz

kann, wer mag, den Ordner noch an einen anderen Ort verschieben (ich bevorzuge /opt). Allerdings ist es in diesem Fall erforderlich entweder die Zugriffsrechte oder den Besitzer des Ordners zu ändern, da wir später Schreibzugriff auf das Verzeichnis brauchen.

$ cp -r android-sdk-linux_86 /opt/
$ chown -R pat:root /opt/android-sdk-linux_86

Wer möchte, kann (nicht unbedingt erforderlich) außerdem den Verzeichnispfad /opt/android-sdk-linux_86/tools zur PATH Variablen hinzufügen und die enthaltenen Kommandozeilentools ohne Angabe des vollständigen Pfades ausführen. Dafür einfach ~/.bash_profile oder ~/.bashrc öffnen und PATH erweitern. Gibt es PATH noch nicht, folgendes in eine der beiden Dateien schreiben

$ vim ~/.bashrc
export PATH=${PATH}:/opt/android-sdk-linux_86/tools

Einrichten von Eclipse und den Android Development Tools

UPDATE: Unter Umständen kann es an diesem Punkt zu einem Fehler kommen (siehe Kommentare). Der Fehler kann allerdings recht einfach behoben werden. Im Menü Help -> Install New Software auswählen und im neuen Fenster auf den Link Available Software Sites klicken. Sollte es dort keinen Eintrag wie „Galileo Update Site“ o.ä. geben, auf Add klicken und bei Location die url http://download.eclipse.org/releases/galileo eintragen. OK und das sollte es gewesen sein. Sollte ein anderes Release als Galileo verwendet werden, findet man hier die angepassten urls.

Als nächstes Eclipse starten und einen „workspace“ einrichten, hier speichert Eclipse Projekte und Quellcode. Danach die Android Development Tools (ADT) als Plug-in hinzugefügt. Dazu im Menü Help -> Install New Software auswählen und im im neuen Fenster auf Add klicken.

Repository hinzufügen

Dem Plug-in einen Namen geben (z.B. ADT) und bei Location die URL

https://dl-ssl.google.com/android/eclipse/

eintragen. Mit Ok bestätigen. Im Fenster sollte jetzt der Punkt „Developer Tools“ hinzugekommen sein. Links daneben das Häkchen setzen und auf Next klicken.

Developer tools

Ein weiteres Mal auf Next und nach dem bestätigen der Lizenzbestimmungen auf Finish klicken.
Nach der Installation und einem Neustart von Eclipse muss nun das Plug-in konfiguriert werden. Window -> Preferences im Menü auswählen und im neuen Fenster mit einem Klick auf Android im linken Menü die „Android Preferences“ öffnen. Hier den Pfad zum Android SDK (/opt/android-sdk-linux_86/) eintragen.

Hinzufügen der Entwicklungskomponenten

Mit Hilfe der Programme aus dem Starter Paket (Android SDK) installieren wir als letzten Schritt nun die notwendigen Komponenten. Neben mindestens einer Plattform (Android 2.2, Android 2.1 etc) empfiehlt es sich außerdem die Dokumentation zu installieren. Eine Übersicht über die einzelnen Komponenten gibt es hier. Hinzugefügt werden diese über Window -> Android SDK and AVD Manager. Nach der Auswahl von Available Packages im linken Menu kann man nun beispielsweise die Dokumentation, die SDK Platform für Android 2.2 und das zur API 8 passende Paket für die Google APIs selektieren und mit einem Klick auf Install Selected installieren. Evtl. muss man jetzt noch eine eine Lizenzbedingung für die Google APIs akzeptieren.

Hinzufügen von ADT Komponenten

Je nach Auswahl kann die Installation einige Zeit dauern. Hat man zum Abschluss Google noch mitgeteilt, ob man anonyme Nutzerdaten einschicken möchte oder nicht, kann man nun sein erstes Hello World Programm schreiben.

Quellen und weitere Informationen:
http://hackaday.com/2010/07/12/android-development-101-a-tutorial-series | Part 1 | Part 2 | Part 3
http://od-eon.com/blogs/horia/android-development-environment-setup-ubuntu-lucid/
http://developer.android.com/index.html
http://www.hak5.org/episodes/episode-711

Root des HTC Dream/T-Mobile G1 – Cyanogenmod 5.0.8

Das HTC Dream (in Deutschland als G1 bekannt) war das erste Mobiltelefon mit Googles Android Betriebsystem. Die Leistung und Ausstattung des Telefons ist allerdings bereits jetzt werkseitig nicht mehr ohne weiteres ausreichend um das neuste Android flüssig laufen zu lassen. Wer sich allerdings nicht mit der offiziell aktuellsten Version 1.6 für das G1 zufrieden geben möchte, muss auf ROMs ausweichen wie z.B. Cyanogenmod.

Cyanogenmod is a free, community built distribution of Android 2.2 which greatly extends the capabilities of your phone.“

Da der Mod für Android Version 2.2 (Froyo) noch recht unstabil ist, habe ich mich für die Installation von CyanogenMod-5.0.8 (Android 2.1 – Eclair) auf meinem G1 entschieden. Wer diese Version dennoch testen möchte, findet hier eine passende Anleitung.
Um nicht alle im weiteren verwendete Dateien einzeln runterladen zu müssen, habe ich diese in ein Paket gepackt. Man kann entweder alle Dateien aus dem Paket auf einmal auf die SD Karte kopieren (Umbenennen nötig!) oder Schritt für Schritt die im Text verlinkten Dateien runterladen und/oder kopieren. Es ist natürlich möglich, dass es in der Zwischenzeit neuere Versionen gibt.

An dieser Stelle möchte ich darauf hinweisen, dass ich keinerlei Verantwortung für Schäden jeder Art übernehme. In fast allen hier verwendeten Quellen (siehe unten) wird ausdrücklich auf das strenge Befolgen der Anweisungen hingewiesen. Im schlimmsten Fall dient das Telefon nachher nur noch als Flaschenöffner, daher lieber bei Unklarheit nochmal in den angegeben Quellen nach einer vielleicht deutlicheren Formulierung suchen oder in den Kommentaren oder per E-Mail nachfragen. Vor der Installation sollte man in jedem Fall alle Daten sichern. Ich habe sowohl mittels MyBackup Pro ein Onlinebackup als auch direkt über USB eine Sicherung der Daten angefertigt.

Da scheinbar besonders bei Verwendung der originalen 2GB SD Karte häufig die Meldung „not allowed“ beim Flashen im Bootloader erscheint, beschreibe ich hier direkt die Erstellung einen Goldcard um dieses Problem zu beheben. Die Goldcard wird mit Hilfe einer Identifikationsnummer (CID) der SD Karte erstellt und erlaubt es anschließend Softwareeinspielungen vorzunehmen. Dazu müssen wir zu Beginn die CID auslesen.

  • Als erstes muss unter Menü -> Einstellungen -> SD-Karte und Speicher -> SD-Karte entnehmen -> SD-Karte formatieren die SD Karte formatiert werden. Mit dem Linda File Manager oder ASTRO File Manager (beides im Market zu finden) navigiert man anschließend zu sys/class/mmc_host/mmc1/mmc1:aaaa. Hier kann auch anstatt aaaa beispielsweise bbbb stehen. Die Datei cid öffnen und die Nummer abtippen. Hat man keinen Texteditor oder ähnliches zur Verfügung, kann man sich die Datei aus der Anwendung heraus auch per E-Mail schicken und spart sich so das Abtippen. Eine alternative Möglichkeit zum Herausfinden der CID ist die Verwendung des  Terminal Emulator. Eine entsprechende Anleitung gibt es hier. Die CID muss nun paarweise umgedreht werden. Dazu am Besten diesen Online Converter verwenden. Als nächstes lassen wir uns auf http://revskills.de/pages/goldcard.html unter Angabe der umgeschriebenen CID und E-Mail Adresse, ein goldcard.img per E-Mail zuschicken. (Da diese Datei von der verwendeten Speicherkarte abhängig ist, ist sie nicht im Paket enthalten). Die Datei speichern und mittels dd if=goldcard.img of=/dev/sdd bs=512 auf die SD Karte schreiben, wobei /dev/sdd die nicht(!) gemountete SD Karte am PC ist.
  • Anschließend die Cupcake Update.zip in update.zip umbenennen und zusammen mit DREAIMG.NBH auf die Karte kopieren.
  • Die SD Karte aushängen und das Telefon ausschalten. Kamera– und Powerknopf gleichzeitig gedrückt halten bis der Bootloader erscheint und den Anweisungen folgen (Der Actionkey ist der Trackball). Sobald der Vorgang beendet ist wird durch gleichzeitiges drücken von Menu, Power und Telefonhörer neugestartet.
  • Da die update.zip bereits auf der Karte ist, beim Neustart die Home- und Powertaste gedrückt halten bis das Warndreieck erscheint. Mit ALT + L wird das Menu angezeigt und mit ALT + S das Update installiert. Mit Home- und Zurücktaste wird anschließend neugestartet.
  • Dem Einrichtungsassistent folgen und mit dem Googlekonto verbinden. Evtl. muss hierfür ein neuer APN eingetragen werden. Die benötigten Einstellungen für den eigenen Provider findet man schnell bei Google.
  • Die Dateien FlashRec.apk und recovery-RA-dream-v1.7.0.img runterladen (wenn nicht das Paket genutzt wurde) und auf die SD Karte kopieren. Letztere in recovery.img umbenennen! Im Market den Linda File Manager wieder installieren und starten. Zur SD Karte wechseln und flashrec-1.1.3-20091107-2.apk installieren. Das Programm anschließend starten und auf Backup Recovery Image klicken, anschließend im Textfeld /sdcard/recovery.img eingeben und Flash Recovery Image auswählen. Sobald der Vorgang beendet ist, das Telefon ausschalten.
  • Beim Neustart Home und Power gedrückt halten bis das Recoverymenu erscheint. Hier [Alt+P] Partition sdcard -> [Alt+0] Partition SD auswählen und folgende Werte setzen: Swap-size = 96 MB, Ext2-size = 412 MB. FAT32-size ist dann automatisch Remainder. Anschließend nacheinander [Alt+2] SD:ext2 to ext3 und [Alt+3] SD:ext3 to ext4 auswählen.
  • Wieder im Hauptmenu [Alt+T] USB-MS toggle auswählen und die neuste Radio Version, Google Apps, DangerSPL und CM-5.0.8 auf die SD Karte kopieren. USB wieder deaktivieren und mittels [Alt+F] Flash zip from sdcard und der Auswahl von G1-radio-2_22_23_02.zip das neuste Radio installieren. Neustarten und die Home-Taste gedrückt halten um wieder ins Recoverymenu zu gelangen. [Alt+F] Flash zip from sdcard und diesmal spl-signed.zip auswählen.
  • Nach einem weiteren Neustart (Home und Zurück) wählt man im Recoverymenu den Punkt [Alt+W] Wipe -> [Alt+0] Wipe data/factory reset. Mit [Alt+F] Flash zip from sdcard wird anschließend update-cm-5.0.8-DS-signed.zip und direkt danach gapps-ds-ERE36B-signed.zip installiert. Ein letzter Neustart mit Home und Zurück und man sollte den Android Einrichtungsassistenten vorfinden.

Viel Spaß!

Update 13.08.2010 HowTo: Deutsches Tastaturlayout

Quellen:
forum.xda-developers.com – Cyanogenmod-5 For Dream/Magic – V5.0.8
forum.xda-developers.com – [Recovery] RA-dream-v1.7.0
Howto root HTC G1/Dream unter Mac OS X und Linux
http://theunlockr.com/2010/04/26/how-to-root-the-htc-g1dream/
http://theunlockr.com/2010/04/26/how-to-load-a-custom-rom-on-the-htc-g1-dream/
http://wiki.cyanogenmod.com/index.php?title=Full_Update_Guide_-_HTC_Dream
http://wiki.cyanogenmod.com/index.php?title=DangerSPL_and_CM_5_for_Dream
http://www.androidpit.de/de/android/wiki/view/Goldcard_erstellen
http://hexrev.soaa.me/

Opera Mini on Android also a Proxy-Browser

Today Marc Ruef released an article about Opera Mini on the iPhone and pointed out that all traffic is routed through Opera’s own proxy server. Opera isn’t allowed to use his own rendering engine on the iPhone because of Apple’s strict license. Opera Mini just provides another frontend for Apple’s safari engine, while the rendering happens on Opera’s server.
Users of Opera Mini should be aware that all their traffic could be analysed and used for data mining.

A quick test reveals that the Android version of Opera Mini also uses Opera’s own server as a proxy.

t09-07.opera-mini.net – – [16/Apr/2010:13:27:39 +0200] „GET /blog HTTP/1.1“ 301 198 „http://www.carrier-lost.org/blog/about/“ „Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.18302/764; U; en) Presto/2.4.15“
t09-07.opera-mini.net – – [16/Apr/2010:13:27:39 +0200] „GET /blog/ HTTP/1.1“ 200 3886 „http://www.carrier-lost.org/blog/about/“ „Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.18302/764; U; en) Presto/2.4.15“
t09-07.opera-mini.net – – [16/Apr/2010:13:27:39 +0200] „GET /blog/wp-content/themes/decoder/img/bg-meta.gif HTTP/1.1“ 404 2400 „http://www.carrier-lost.org/blog/“ „Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.18302/764; U; en) Presto/2.4.15“

Where t09-07.opera-mini.net is the proxy server.