AOSP Release Tools
AOSP ships with a bunch of tools that are very useful for platform release. I'll cover their usage and explain what they do in this post.
more ...AOSP ships with a bunch of tools that are very useful for platform release. I'll cover their usage and explain what they do in this post.
more ...I use Octopress to manage my blogs, which rely on correct ruby gem version to
work. Although Octopress use Bundler to manage the gem dependencies, sometimes a
simple bundle install
does not work out of box. Since everything works fine on
one of my machines, I decided to replicate the exact ruby/gem setup of that
machine.
Recently I need to install Adobe Acrobat Reader on couple of my Ubuntu boxes. The process is full of black magic that sometimes you can't find the documents anywhere. Hopefully this post will make the process less a pain.
more ...For a while I've been using logcat
command line tools to check
Android logs. Usually, the tags of my app consist of a common prefix and the
name of different sub-components (I guess that's also what most apps do). And I
have about a dozen of such tags. logcat
, however, does not support filtering
tags using regular expressions, which is a pain! After suffering for a long
time, I finally decide to tackle this.
In one of my research projects, I used Android PCAP Capture with ALFA RTL8187L dongles to capture Wi-Fi packets on Android phones. One problem I encountered was that per packet RSSI is missing. After poking around the source code for couple of days, I finally figured out how to get this information. In short, the per packet RSSI information IS indeed reported by the hardware, yet the current Android PCAP app doesn't collect it.
more ...In my previous posts, I explained how to create a properly signed OTA package that will pass recovery's signature check, and how to verify the signed OTA package before apply it. Here, we'll discuss, when building an production AOSP platform, how to sign the platform and recovery image properly to match those signature checks.
more ...stdint.h
provides various machine-independent integer types that are very
handy to use, especially the uint64_t
family. You would assume it's something
like long long unsigned int
and tempted to use %llu
in printf
, which, however, will be
reported as a warning by any decent compiler.
warning: format '%llu' expects argument of type 'long long unsigned int', but argument 4 has type 'uint64_t' [-Wformat]
I've been bothered by this message for a while when the device is in recovery mode.
$ adb devices
List of devices attached
???????????? no permissions
When analyzing the logcat data from Android devices, I found that sometimes the log line get truncated, especially when it's quite long. This causes trouble because the logged information are in JSON format, which gets broken after (even one character) truncated. In this post, I'll explain how did the truncation happen, and how to fix it.
more ...Google has a fair document for building kernel for Android. Yet it
didn't cover how to integrate the kernel with AOSP source tree so that kernel
gets built along with whole platform, which I'll explain in this post. Here I'll
mainly focus on android-4.4.4_r1
(Kitkat) for Nexus 5 (hammerhead
).
The instructions should be easy to adapt to other models or AOSP releases.