Tuesday, August 4, 2009

Tackling Android's Donut Branch

I know I should be updating the graph visualization project, but I just wasn't in the mood these days, so after getting a new layer of screen protector for my G1/Dream/ADP, I went on checking out Android's master git branch, which has seen some merges from the Donut branch.

The checkout process went on for a whole night on my sloppy "high-speed internet" connection, and grabbed a few (less than 3)Note to self: next time settle for single-core compilation, it's faster.

Now that I have a working adb tool, I can get some proprietary blobs from my phone:

zsol@silithus:~/android$ cd mydroid
zsol@silithus:~/android/mydroid$ . build/envsetup.sh
zsol@silithus:~/android/mydroid$ cd vendor/htc/dream-open/
zsol@silithus:~/android/mydroid/vendor/htc/dream-open$ ./extract-files.sh
[... output snipped off ...]
Now to configure the build for my G1:

zsol@silithus:~/android/mydroid/vendor/htc/dream-open$ lunch htc_dream-eng

============================================
PLATFORM_VERSION_CODENAME=Donut
PLATFORM_VERSION=Donut
TARGET_PRODUCT=htc_dream
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=false
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=Donut
============================================
That looks pretty promising, doesn't it.

While building I noticed something interesting with my xterm:
That's right, it supports UTF-8 properly. Take that, urxvt!


After some 20ish minutes of compiling, the process is halted with some error messages missing "camera.h", "camframe.h", "jpeg_encoder.h", and the like. A quick search leads me to this thread. The funny thing is, the solution was not posted when I found it, only now that I rechecked the link. So this is what I did:

  • patch the mentioned change with: repo download platform/vendor/htc/dream-open 10981/1
  • hack hardware/msm7k/libcamera2/Android.mk and change the "true" value
    on the first line to "false"
  • run make again
So it turns out my phone is missing /system/lib/libspeech.so (which is some proprietary library built and supplied by the vendor). I was told it should be included in the 150275 build, so now after downloading it, I copied over the corresponding file to $HOME/android/mydroid/vendor/htc/dream-open/proprietary/. Now it's building.

No comments:

Post a Comment