GSoC 2016 Week 9: Android SDK Tools in Debian
This was the first full week after getting back from DebConf.
I worked on tasks left pending from before DebConf.
A big concern when working on this project is how to handle upstream updates.
Android follows a source code dump model, where Google develops the
latest version mostly internally, and periodically pushes it to open
source. (I say mostly here because some development does happen in the
open source AOSP master branch, but it may or may not end up in the
next release). Anyhow, for downstream projects it's hard to follow the
releases (as there are monthly security releases now), especially
because development happens in multiple git repos - and that it is
such a vast code base.
I have made the above automated with the help of uscan watch files
(e.g. at , put them in basically all other repos too), and shell
script  (upstream-update.sh)
Another issue is that android checks out the same tag (or branch) from
hundreds of git repositories and builds them together, whereas in
debian we mostly have one upstream repo in one source package so far.
This leads to cross-dependencies, which has already been nicely solved
by another student, but the build process and upload process is
I have created a script for the build process  (build.sh), which
builds all the repos one by one in the correct order, so that we can
depend on the same version of dependencies.
We (the students and mentors) have also discussed the best way to move
forward with building and packaging "android.jar", a core component
needed to build apps. We will be folding multiple upstream repos into
one debian source package, and also moving existing binary packages to
that source package.
I'll be helping with this week, and also document last week's work (it
got finished late friday night),and I wasn't able to do much today as
my computer wasn't working - got it fixed in the evening though, so
all good now.