Cyanogen Mod: Android Applications And Mismatched UIDs
I recently switched from a vanilla JesusFreke Android ROM to Cyanogen. According to its creator, I would not need to do a wipe of my phone after the upgrade, so I did not (if things do go south, then I'd wipe). My only concern was in my more n00b days, I had Apps2SD installed and I ran it even though JF 1.51 already had a2sd support cooked in. I also had a massive incompatible theme installed. In short, I wasn't so sure my JF1.51 was vanilla enough to survive the switch to Cyanoge without a wipe.
True enough, my worse fears came true. After the flash, everything seemed fine. Things were going great as I got accustomed to the new snappy phone I had. This was until I tried using twidroid. For some reason, it would complain of connection issues, which was not possible as the browser and Market Place connected to the Web just fine. I then proceeded to reinstall the application only to find out that I can no longer install any applications from the Market Place.
To say that this was an extremely rude shock is an understatement.
Lucky for me, watching a nifty Google I/O presentation on how to debug Android thought me a few stuff. logcat for one. (Or did I read that from somewhere else? OK, nevermind that's beside the point)
To do this, I connected the phone to my PC and ran ./adb logcat while doing an install from the Market Place. Logcat showed that an error occured when DalvikVM tried to create its cache in /data/dalvik-cache. For some reasons unknown to me, it just didn't work. I tried checking for permissions but everything seemed fine. There was also a line regarding mismatched application UIDs, but more on that later. At this point, I was freaking out. I did not wanna wipe and reinstall the 40 or so applications (plus, I've gotten quite far in RoboDefence!) I had on my phone.
P/S: I'd like to show the exact error message but unfortunately, I neglected to copy the line from logcat before trying a fix. The successful message is below
I/installd( 1408): move /data/dalvik-cache/data@app@vmdl69624.tmp@classes.dex -> /data/dalvik-cache/data@app@com.twidroid.apk@classes.dex
With the error message, instead of an 'I' your get an 'E' (Info/Error) from installd and the error message is something along the lines of copying to /data/dalvik-cache failed (again, I hate myself for not copying the exact error message. Sorry). Android does not show this error message in your phone, just "Installation failed. Message: ". Yup, a blank message.
I also saw errors regarding mismatched application UIDs, that Android was expecting a certain value but the package being installed was of another. This happened only when I attempted to reinstall an existing application though (in my case, Twidroid).
Here's what I did to fix stuff.
For those familar with Cyanogen, he suggested that if there are any 'weird' issues after an upgrade with installed applications, such as applications disappearing from the Market Place's My Downloads list or you stop getting updates for your installed applications or you get force closes when running applications, you are to run a script called 'fix_permissions' that would... well, fix permissions. Actually, the issue is that Android rebuilds /data/system/packages.xml (with new UIDs) when the ROM is updated and in doing so, there is a mismatch of UIDs between packages.xml and what's in the /data/data directory. For details on what the script does, see this thread.
I ran the script in recovery mode and true enough, the mismatch UID problem went away. I also deleted my /data/dalvik-cache contents just in case there were file permission issues (they get generated again on boot). However on hindsight, I'm not too sure if this helped. Cyanogen has a script called a2sd in the /system/bin/ which does the copying/mounting/permissions during boot anyway.
Anyway, after those 2 steps, my phone was back to normal. Actually, it's really fast and snappy now thanks to Cyanogen. I'm not talking you-need-to-bencmark-to-see-it speed, I'm talking real-world the-browser-now-launches-super-fast kinda speed. Wished I switched from JF 1.51 earlier. So while upgrading to Cyanogen does have its dangers, I suspect the payoffs more than make up for them. Just check out the list of features that is cooked into his ROM! Worst case scenario - a wipe, small trade off if you ask me.

HTC To Offer Sense Upgrade to HTC Magic

HTC Magic users in Taiwan will get the update for free, which means the rest of the Magic users will have to wait, oh, what, couple of days before getting their hands on this thing. No, really, when you consider how fast things are going on in the home-brew ROM world of Android, a couple of days is all you need to wait. Of course, HTC said that Sense is not coming to any 'with Google' devices. Don't know why but there's at least one good reason - HTC Magic is of higher spec - they have 288MB of RAM. Even on plain vanilla Android, 191MB (or 90MB usable) is really really paltry. It's bearable, but let's just say if I could buy a couple of sticks of RAM and upgrade the thing, I would have.
Still, some have got Sense working on a G1 with hacking Linux swp into it to compensate for lack of RAM so the same thing could be done for the 'with Google' HTC Magics (e.g. the myTouch 3g).
Source:HTC to offer Sense upgrade for Magic in October, might be free?

VMWare Acquires SpringSource
The company behind my favourite enterprise Java framework has just been acquired. Apparently the main reason for this is because Spring technologies has potential to contribute to VMWare's vision of Platfrom-as-a-Service (PaaS). SpringSource has grown beyond just the Spring Framework - they offer mutliple server solutions, lead in OSGI implementations and even provide a monitoring solution. Maybe Spring is the underlying software solution, but I can be pretty sure VMWare couldn't care less about that. What they do care is how SpringSource's solutions are able to make things just work and quite effortlessly.
The standard fare of reinforcing SpringSource's commitment to open-source is there as well, so at least they're trying to say the open-source community is still within their radar. But I'll take this with a grain of salt and see how thing goes. It's been months since the Oracle-Sun acquisition and we've yet to see the fallout.
Read more: SpringSource: Chapter Two | SpringSource Team Blog

Stay Away From Celcom’s HTC Magic – Potential Perfect SPL
I have a friend that recently got his phone RMA-ed back to him. Everything seemed fine until he discovered that doing fastboot and using adb to push a custom SPL failed. This essentially means that there is no way to flash a custom (usually rooted) ROM onto the phone. While I don't mind not having root, I cannot imagine using an Android phone without all the very very cool applications due to the missing Android Market place!
The phone does not even have an application that can use its built-in GPS! I suggest customers actually return the phone complaining the lack of GPS (hey, what good is the hardware if there is nothing on the phone to show for it?). I hope someone from Celcom reads this and fix the phone ASAP. It's bad enough you have to flash a custom ROM to fully utilize the phone, now even that is impossible.
More info over at XDA Developers - Fix The Dreaded Perfect SPL

CyanogenMod v3.9.7 (fixes 3.9.6)
CyanogenMod - Stability is our fifth concern (EXPERIMENTAL) [UPDATED 8/4 - v3.9.7] - xda-developers
CHANGELOG
---- v3.9.7
* It actually will boot again on all devices now
* Fixed Settings FC
* Fixed Maps issues
* Fixed lockscreen low battery message
* Fixed other bugs..?!
* Updated MMS enhancements from rgv151
* Added some logging to the a2sd startup

