My Android building machine features an
- Intel Core i7 870 @ 2.93GHz with
- 8GB of RAM building to a
- 1TB hard disk (RAID 1 array) running
- Debian Unstable/Experimental.
I tried to compile 4.0 Ice Cream Sandwich from CM sources (but still rather vanilla) on my machine today.
Except for lib32ncurses5-dev that was missing here – don’t ask me why, maybe “apt-get autoremove” is to blame – and a quite unnecessary Java compiler check (OpenJDK is perfectly capable of building Android) I did not run into any problems at all.
I can’t tell you what this “You’ll need at least 128GB of RAM and a quadruple i7 Extreme setup” was all about but I can definitely say that my machine never used the swapfile during the whole process. It did not even hit 6GB RAM. Maybe because I’m not using ccache?
The resulting file’s size is about 100 MB zipped, extracted about 140MB (only files going to /system). The system partition on my Legend (stock partition layout) is 240MB, so ICS should fit without problems, even after CM treatment.
$ time make -j8 otapackage
Also posted the above on G+.
It’s done. Most users already knew about Gingerbread on their CM-supported devices so that’s not real news.
A kick in the nuts of every manufacturer that keeps its sources closed, releases of Android customized heavily and mouths shut about future updates. Even though so much has to be reverse engineered the CyanogenMod team was ultimately faster in bringing Gingerbread to our loved devices.
In your face, «insert manufacturer here»!
Excuse my infantile behaviour but this is simply nothing short of exciting and totally insane.
About a week ago I wasn’t even able to compile the Gingerbread branch of Android and today I’m using it on my Legend with only minor glitches. OK, they are not really minor but they don’t affect me that much.
There are still a few problems that definitely scream “FIXMEFIXMEFIXME”, like the .32 kernel HTC released a few weeks ago (which is a complete mess in every single way), but you can rest assured the gods in #teamdouche (cyanogen, arcee, zinx, …) will fix these problems eventually.
Yeah, this is so exciting.
Yes, you might already know: the CyanogenMod project is nearing release 6.1.
Looking at the changelog from 6.0 to 6.1 one has to say that teamdouche did an outstanding job. Officially supporting the Legend is only a very small part of it.
I’m actually quite proud that everything is working perfectly by now, no bugs or annoyances. CM nightly builds (from my own machine – that’s openness!) have been the main and only operating system on my Legend for three months now.
If I can get my hands on the Aria/Gratia 2.2 update and test the camera libraries then 6.1 will most likely ship with those (provided they work correctly) and I’ll try to port the kernel as well (once HTC releases it, which normally takes some time).
Exciting days to come…
For some of you this might be rather old news but just to make sure it’s recorded in the eternal books of Google: I’ve become the official maintainer for the HTC Legend in the CyanogenMod project.
This basically means official support and official nightly builds. It also means that I have to get all my changes into CM or adapt them accordingly. This I’ve been doing for the last couple of days and only the correct support for non-rgb notification lights is missing (a rather big change).
It’s also nice that the new CMStats app seems to be enabled by some Legend users already. This will render my statistics in the android section of this site quite useless at some point.
Now that Azure 1.0 has arrived people would certainly complain a lot if I released quite experimental builds based off the latest development in CyanogenMod. Even I wrote “experimental” a thousand times.
The consequence: a separate ROM. I’m pretty sure some will still not get the meaning of “nightly”, but I really can’t do anything about that.
Dark Azure (development thread here) will be the snapshot and development build with new features going there first.
After some weeks of heavy development and testing I released Azure 1.0, codename for my port of the famous CyanogenMod 6.0.0 for the HTC Legend.
Bringing you Froyo faster than HTC with nearly all the features you might expect (except for FM radio of course) feels really amazing.
I’ve been doing web-development for quite a long time now. But honestly it was never nearly half as much fun as when I discovered CakePHP a year ago.
It took me not even six hours to write the Android ROMs section, a task I would have spend at least a week on before I knew CakePHP.
Google’s Android platform is mostly great, but it does have a serious problem:
Manufacturers can’t keep their fingers off the interface.
This produces systems that do not even look like Android (and, as with Sony’s, annoy everyone), sometimes even worse than that.
Apart from awful Android skinning there is a new trend and light in the darkness for us purists: Android vanillaizing!
It’s software dermatologists devoting their precious nights and sleep to finding the cure to Android acne. In the case of the HTC Legend (comes with Sense) I was able to compile and tweak the Android Open Source project. Later I decided to start porting (and patching, where necessary) the famous CyanogenMod, which I’m using on my phone right now.
Find first beta versions of my port called “Indigo Bean” and updates and bug reports on xda-developers.
Since we’ve got support by koush’ outstanding ROM-Manager the recommended method to install it (after rooting your phone) is getting this app via the Android market and downloading “Indigo Bean”. Just a few clicks (taps!) and you are set to enjoy.
Android phones are delivered with proprietary apps that greatly improve the user’s experience. Some might even say an Android device without Google apps is only half the fun.
For being accepted as valid packages, apps are signed. Moreover if an app wants special-1337-system privileges, it has to be signed with the platform key. This is to make sure apps behave correctly.
So if you come across a message that tells you the system just ignored a package (“Package xyz has no signatures that match those in shared user android.uid.system; ignoring!”), just resign it with your platform key. If you don’t have the platform key: Bad luck.
This is rather a note to myself (the sky just fell on my head):
Google apps that always need resigning are GoogleCheckin, GoogleSubscribedFeedsProvider and NetworkLocation.
Don’t ever dare to sign any other proprietary app, Google doesn’t like that and your Android system won’t allow you to use it.