Tracking down AOSP Build Bugs

I’ve been asked how I tracked down an AOSP build issue on OS X (http://goo.gl/J9mOL), so I thought it might be worth putting the process up here so others can get an idea of whats involved; I picked the first error which was stopping the build. With a build problem there may be many error messages, but by focusing on them one at a time in the order they occur you can find that fixing an early build fail also fixes several later ones and so you don’t end up wasting time fixing things which are symptoms of a problem rather than the cause.

Current state of building the AOSP on OS X

I’ve been asked how I tracked down an AOSP build issue on OS X (http://goo.gl/J9mOL), so I thought it might be worth putting the process up here so others can get an idea of whats involved; I picked the first error which was stopping the build. With a build problem there may be many error messages, but if you focus on them one at a time in order you often find that fixes to early build problems also fix later ones and so you don’t end up wasting time fixing things which are only symptoms of a problem.

"Mobile" Computing

After spending 3 weeks not having a house (due to legal delays during the purchase) I should be reunited with all my tech this weekend in the new house, so I thought it might be worth reflecting on some of the changes made to accommodate life on the road. My normal tech set-up included a hefty Mac Pro (8 cores, 32GB of RAM), a Subversion server, multiple Time Capsules (one per machine I have), so it’s just not practical to take all of that on the road.

AppsLib distributing without permission

Today I found out that the AppsLib Android application directory is distributing one of my companies apps against our wishes. They’ve provided no method for removing the app, no method for closing the account they’ve created under our name, and I suspect that we’re not the only company they’ve done this to. The email address for the account is our support email address, but we’ve never received an account confirmation email or any indication it was being used in this way.

Compiling Ice Cream Sandwich on Mac OS X Lion with Xcode 4

After making yesterdays post on how to build the Android Open Source Project master branch using Mac OS X 10.7 and Xcode 4 I’ve tracked down what’s necessary to get the Ice Cream Sandwich branch of AOSP compiling on the same platform. This process has been tested against the android-4.0.3_r1 branch, so if you’re using another branch you may encounter some issues not mentioned here. Follow steps 1 to 4 from the instructions from yesterdays post, but check out the relevant ICS branch instead of master (Don’t forget to apply the patches from that post to the checked out ICS files).

Compiling Android master on Mac OS X Lion with Xcode 4

[Update: The patches have been merged into the AOSP master branch, so as of the 22nd of December AOSP master should compile on OS X 10.7 with Xcode 4 straight from checkout] My company has worked on some Android firmware projects in the past, but, due to the closed source nature of Honeycomb, that work pretty much dried up. Recently though Google released Android 4.0 to the masses and we’ve had a few enquiries about firmware work again, so I thought I’d see what the current state of building Android was for our default machine configuration.

Ice Cream Sandwich Ideas

If been playing with the Xbox360 and its voice control using the Kinect and it’s sparked an idea in my head which I thought I’d post here for comments; What would people think if there was a setting in Android which took you straight into a voice control screen from an unlock? This would allow users to do things like unlock their device with facial recognition then speak to their phone to get it to do things like dialling home, sending texts, emailing, etc.

Android 4.0.3 - Why .3 is important

Yesterday Jean-Baptiste Queru announced that Android 4.0.3 had been open sourced via the Android Open Source Project, which is bigger news than you might think. Versions before 4.0.3 were focused on the Galaxy Nexus and its hardware. 4.0.3 is a multi-device release which supports the Nexus S, Xoom, and should be used as the basis for other ports. So if you see an Ice Cream Sandwich / Android 4.0 device you should look at the specific version it’s running, if it’s not a Galaxy Nexus and it’s running something before 4.

Galaxy Nexus -v- iPhone -v- Lumia 800

Over the course of a week I compared the Lumia 800, iPhone, and Galaxy Nexus. The following are my opinions of each which I hope will be useful to other people thinking about buying a new smartphone; Size I’m going to say straight off that the Galaxy Nexus is too big to become my daily ‘phone. I thought it would be when the specs started floating around, and, having had it a while now and travelled a bit with it, I still think it’s true.

iPhone testing wrap-up

As you’ve probably guessed, I’m impressed with the iPhone. Given the tests I’ve been doing over the last week I can see why it is an aspirational device. Apps have a consistent feel and are wide ranging, the device is easily portable, it has a pretty decent camera, and it just comes together in a pretty simple to use package. I’m also pleasantly surprised by Lumia. It falls short in terms of the variety of apps available, but Windows Phone 7 is only a year or so away from it’s public launch, so that’s to be expected.