For people who want to work with the GPL code that was released with

3.1, here are a few pointers:

For people who want to work with the GPL code that was released with
3.1, here are a few pointers:

code was merged into the AOSP master with the contributions that were
made to those projects. You might find that this is a convenient way
to work with those.

  • Option 2: for all projects, including chromium and webkit, there's a

tag android-3.1_r1 that points to the exact commit that was used to
build version HMJ37 that's shipping on Xoom. For any such project, you
can run "git checkout android-3.1_r1" to get that exact version
(beware of cross-project dependencies, especially between webkit and
chromium). To do it for all projects, run "repo forall -p -c git
checkout android-3.1_r1".

  • Option 3: even though it's possible today to build the 3.1 GPL code

on top of the latest master, that might not be the case forever since
master moves ahead fast. In order to be able to continue building the
3.1 GPL code in the future, I've created a manifest called
"3.1-base.xml" that contains the exact state of master as it was
yesterday. You can switch to it with "repo init 3.1-base.xml ; repo
sync", and from there apply the steps in Option 2. Get back to your
plain master with "repo init -m default.xml ; repo sync".

A word of caution, especially around webkit: even though the current
AOSP master (and 3.1-base) contains interface definition files that
allow building that GPL source code, it's likely that there could be
various kinds of compatibility issues trying to run the resulting
binaries: webkit uses non-public Android APIs written in C++, and
that's likely to trigger issues of Fragile Base Class.

JBQ