Working on Platform Bugs

One of the first things I did for Android was translating SecretBox and during that translation I noticed a problem with capital letters with Umlauts  in icon menus. Like ÄÖÜ so I raised a bug in the Android bugtracker. Since I am trying to understand the whole Android Platform I thought it would be fun to investigate and possibly fix the bug. After getting my Development Environment all set up I have now started to look deeper into the Bug, did my first code modifications and wanted to rebuild. And that’s were I got stuck. Since the only way I knew of building android was with the “make” command and that took for ever. So I had to find a better solution and help came asap from the #android IRC channel.

I got a link to this page Building, running, and debugging Android source which perfectly explains how to build the Android framework classes. Here is the condensed info:

Set up the environment first

$ source build/
$ lunch 1

Build the framework

$ mmm frameworks/base

And sync the changes to the emulator.

$ adb remount
$ adb shell stop
$ adb sync
$ adb shell start

When you do this you don’t even need to restart the emulator. Which makes the development process so much more easy.

The only annoyance that I discovered right now is that I had to completely kill the Android Development Tools out of my Eclipse since the DDMS made problems when I wanted to debug the Framework. Since I am going to develop my Android apps mainly on my Windows machine that hopefully wont be such a big issue. But it’s something that I want to fix in the future.

3 thoughts on “Working on Platform Bugs

  1. Hi Andreas, just wondering…I’m trying to make environment for android source. but i’m always stuck in here

    make: *** No rule to make target `out/host/linux-x86/bin/acp’, needed by `out/target/product/generic/system/etc/apns-conf.xml’. Stop.

    can you help me ? oh yeah, do I need to sync with all the git sources ?


  2. Hello Reski,
    yes if you run make you will need the whole source only after you have gotten everything and ran make once for the complete platform you can use the commands outlined above.
    Hope that helps


Comments are closed.