Insgesamt nutze ich die fb-App auf meinem Phone eher selten, so kann ich gar nicht recht sagen, wann das begann: irgendwann zum Ende des vergangenen Jahres verlernte mein HTC Desire, wie man sich bei fb anmeldet. Nach einem Versuch, die fb-App zu de- und dann reinstallieren ging gar nichts mehr, auch kein Upload von Fotos. Gelegentlich sah ich eine Fehlermeldung, Zertifikat ungültig. Ach ja, mein Phone ist gerooted mit einem LeeDroid.

Tante Google fand mir eine Lösung: es müssen neue Zertifikate installiert werden. Danach geht's wieder.

HTC Desire rooten

Friday, May 27. 2011

Bislang waren meine Versuche, mein Desire (mit Vodafone_uk - Branding, Bootloader 0.93, Froyo) zu rooten, gescheitert. unrevoked startete (auf Debian Squeeze / 64) entweder gar nicht oder mit Fehlermeldungen.
"No protocol specified
Error: Unable to initialize gtk, is DISPLAY set properly?"
64 Bit mag es wohl nicht.  Eine Live-Distro (mint gefiel mir gut) mit 32 Bit half über die erste Hürde.

Nun startete unrevoked, fand, bearbeitete und rebootete auch das Desire, aber dort erschien nur der Hinweis, die Anwendung zysploit sei unerwartet beendet worden, und unrevoked meldete dann "Error: failed to get root. Is your firmware too new?" 
Ich hatte da mal ein OTA update akzeptiert und hielt das Desire schon für unrootbar. Aber dann stiess ich auf Berichte, dass es auch mit HBOOT 0.93 klappen kann und versuchte es erneut.  

Weitergeholfen hat mir letztlich ein Tip von dieser Seite: Nämlich, vor dem Durchgang auf dem Desire die Anwendung Evo Zysploit zu desinstallieren. Die war da wohl von einem vorigen Anlauf mit einer älteren Version von unrevoked (3.22) noch übrig und im Wege. 

Und dann ging's auf einmal. unrevoked 3.32 lief durch und jetzt habe ich den Befehl su. Und eine Reihe anderer - hier die Liste der ADB Shell Command Reference

Bei dem und den folgenden Schritten (Backups ziehen, anderes ROM flashen) war es mir sehr beruhigend, verständliche Hintergrundinfos und Howtos zu haben, und die Brutzelstube  hat davon einen ganzen Sack voll!

Anschliessend kam ein Custom rom drauf, anhand dieser howto zu Vorbereitung und flashen. Das klappte erst mal gar nicht: obwohl ich brav jeden Schritt wie angeleitet nachvollzogen hatte, mochte mein Desire partout nicht mit dem neuen rom booten. Ich bekam den weissen Screen mit dem htc-Logo und das war's dann, egal wie lange ich wartete.

Problem 1 war, wie ich dann entdeckte, dass bei der Partitionierung/Formatierung der ext3-Partition auf der sd-card etwas schief gegangen war. gparted  akzeptierte das angestöpselte Desire klaglos als card reader, sah auch beide Partitionen aber auf der der neuen kein Format. Mit diesem tool die ext-Partition noch etwas vergroessert und formatiert, dabei den Partitionen gleich noch sprechende Namen gegeben und die Fehlermeldungen zum mounten der sd-ext waren Vergangenheit.

Es bootete aber immer noch nicht. Was jetzt half, war im recovery den Eintrag advanced zu wählen und hier jedes angebotene  wipe auszuführen (dalvik cache, battery stats). Welches von beiden letztlich das Hindernis ausräumte, weiß ich nicht, aber dann klappte es endlich und auf dem desire quieckte die Bootanimation von LeeDrOiD 2.4.1. Am nächsten Morgen noch mal gegoogelt und da ist tatsächlich über Nacht eine neue Version, LeeDrOiD 2.5-final, released worden. Die liess sich dann ohne jegliches wipe, über die Vorversion drüberflashen.

Und? Startpunkt der ganzen Aktion war ja, daß ich auf dem desire die ipv6 privacy extensions aktivieren wollte, wie von heise beschrieben. Mit rooten allein ging das noch nicht, weil sysctl nicht zur Verfügung stand. Mit LeeDrOiD kommt eine busyBox  und sogar ein nano. Ziel erreichbar.
Dann ist OpenVpn eingebunden, was die Tür zu manchem Projekt öffnet. Das Teil kennt jetzt einen Automodus mit klickarmem Menü zu Navigieren, Telefon, Kontakte, Musik. Noch ein paar nützliche Programme sind direkt eingebunden. Last but not least habe ich jetzt knapp 100 MB freien Telefonspeicher (vorher selbst nach großem Aufräumen kaum 14MB), was wohl dem App2sd+ zu verdanken ist.

Kleine Nervensäge:
Nach Neustart empfängt das Desire SMS mit Zahlencode...
Lösung:
Im Menupunkt "Kurzmitteilungen" in Einstellungen>Anrufen>Kurznachricht "Cell-Broadcasting" aktivieren/deaktivieren
in Verbindung mit Neustart des Desire, also:

"Cell-Broadcasting" aktivieren > Neustart > "Cell-Broadcasting" deaktivieren > Neustart > "Cell-Broadcasting" aktivieren

Android k9-mail with a different Icon

Monday, February 21. 2011

My Android mobile (HTC desire) runs k9-mail, a dilligently updated, configurable, imap-capable application well prepared to handle lots of mail but struck with an esthetically challenged icon. The head of a robot dog featured in a british cult tv series from the sixties - let's say you either love it or hate it. Judging by the number of hits this article gets I'm not alone with my irritation.

The little pic caused many discussions and every now and then someone creates a more suitable alternative and dares to propose it to the development team, but apparently this is like chewing rocks

OK, so either you leave it as it is or you change it yourself. But it is not completly trivial to change the icon of an android app, simply using an ressource editor and paste another icon into the file won't do. This is because Android apps are signed and if you change them after the signing they stop running.

On the other hand: it's open source, isn't it? So, create a project folder and on the command line type:
git clone https://github.com/k9mail/k-9.git
That done we follow the steps of 'How to build K-9 Mail' and if you happen to have set up an Android-Development Environment already, it takes but minutes and you see k9 running in the emulator. Nice, now for the icons. 

Our friend, the lovely dog, lives in two places within the ressources, at  
k-9/res/drawable/icon.png and k-9/res/drawable-hdpi/icon.png respectively.
In both places we replace it (.png, 72x72) with an image of our choice and proceed to create a new k9mail.apk with eclipse's File/Export/Android/Export android Application.

Now don't try to install the freshly built and signed k9-mail over the existing one, cause it won't. The AppInstaller starts up, displays the loading-grphs for a moment but it soon stops with nothing but a laconic message: Not installed. Searching the logs on my android didn't make me any wiser as to what was happening. 

So I tried adb which was far more eloquent. Started it as root:
sudo su
cd /opt/android-sdk-linux_86/platform-tools
./adb kill-server
./adb start-server
./adb devices

and it outputs:
List of devices attached 
emulator-5554   device
HT03ZPL02277    device

I closed the emulator with a click to make sure adb doesn't get confused about where to install in the next step and then input at the command line:
 ./adb install -r /path/to/git/proj/k9/apk/k9mail.apk

and it tells me all I need to know about the nature of the problem:
304 KB/s (2591136 bytes in 8.312s)
        pkg: /data/local/tmp/k9mail.apk
Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]

Doh! The original app was signed with a totally different keys than my own built all that signing serves to keep some bad guy to silently change an app - of course it wouldn't install. Somewhat incomfortable but I had to uninstall the original app in order to install my own built. Don't forget to backup your settings! 

Sort of breaking the dog on a wheel but it works and is a nice exercise, too. There is a con though: it probably breaks the updating so you'll need to check for new versions and build them manually. Alternative approaches do exist though I didn't try them.

Addendum re: k9 and documentation: it is rather sporadic and they are in search of people to help them writing it. But there is a Wiki a FAQ and a much needed explanation re: folder classes and how to use them

And another addendum, not that related to the above but I wanted to put the link somewhere: About installing Certificates

Oh, and then there is Kaiten Email. Dogless Icon included in the feature set, costs about 4€.

 

(Page 1 of 1, totaling 3 entries)