Howto Build Android KitKat (4.4) for the Google Nexus 5

NOTE: If you know what this is, and just want to start with a basically working source tree, skip to the section titled “Just Build the Thing ™.” Overview This page describes the steps necessary to compile the Android Open Source Project (AOSP) sources into a working phone image for the Google Nexus 5 (Here-forth […]

Posted in Uncategorized | 89 Comments

Howto Build Android 4.3 for Nexus 4

This post will walk through building and deploying Android 4.3 (Jelly Bean MR2) for a Nexus 4 device, from upstream sources. Overview A useful source tree, in practical terms, requires these components: Proprietary binaries for hardware support Proprietary Google Apps applications (e.g. Play store) The AOSP system image, recovery image, modem firmware, etc. A kernel […]

Posted in Uncategorized | 25 Comments

Dual Booting Linux and OS X on a MacBook Air

Introduction There are tons of different approaches to this, all leading to the same end state. Here, I will overview a few of the possibilities, and discuss, in particular, what I did to enable this. The options seem to be: Boot Linux from grub-pc, using rEFIt or rEFInd or similar boot shims Boot Linux from […]

Posted in Uncategorized | 6 Comments

Howto Build Android AOSP for Google Nexus 4

Update: this is no longer the preferred approach. Building for Android Jelly Bean MR2 (4.3) is covered here: Howto Build Android 4.3 for Nexus 4 There’s a lot of articles on the Internet saying that Nexus 4 (code named “mako”) isn’t supported in AOSP: Google “can’t comment“; and the factory images at a point had […]

Posted in Uncategorized | 25 Comments

Rage Against the Cage and z4root No Longer Work

RATC and z4root exploits are perhaps some of the most widely published on the internet, for a slew of devices: Samsung, HTC, Motorola, whatever. Many root procedures on the internet are based on the basic premise. Essentially, this family of exploit works like this: Drop a fork bomb, kill adbd, and then it restarts as […]

Posted in Uncategorized | Leave a comment

Getting Android Sensor Events While The Screen is Off

So you want to continue to get sensor events in your Android service, even after the screen turns off? Well that’s too damn bad, kid, cause you can’t. No, I’m just kidding. But you’ll probably need a work-around for Android Issue 3708. In this document I describe what I had to do to get it […]

Posted in Uncategorized | 27 Comments

Building GCC 4.7.0 on Debian Squeeze (Stable)

GCC 4.4 is the default compiler on Squeeze, and there’s nothing newer in the Backports. So, you can dirty up your system by installing some packages from sid or testing, of you can build your own compiler. Since 4.4 wasn’t sufficient for my needs, I decided to do the latter. I killed a day on […]

Posted in Uncategorized | 19 Comments

Android Permissions-on-Demand System

Today’s Android permissions system has many short-comings. While perhaps a decent starting place for development of a more robust solution, the existing implementation is minimally effective at fostering good security practices. Consider the last time you installed an app — did you look closely at the permissions? I sometimes look out of curiosity, or to […]

Posted in Uncategorized | 2 Comments

Understanding the Android Application Lifecycle with a Hands-on Example

The Android documentation is really pretty good. And you can whine about how things are put together — the nature of the APIs, or the Frameworks implementation, but really, it could be a lot worse. And for platforms come and gone, I think it was a lot worse, way-back-when. That’s part of why you’re bothering […]

Posted in Uncategorized | 1 Comment

Integrating Twitter Into Your Android App

Foreword Consider that you might want to just actually use the real Twitter instead of reinventing the wheel. That said, sometimes it can be useful to get assets from to display in your app, as they pertain to your app. In Android, you can launch Twitter with one line of Code: You can also […]

Posted in Uncategorized | 2 Comments