Android support for V1

For completeness this is my original Android support for V1. My intermediate checkins aren't useful, so I recommend if you do the pull to squash the commits during the merge.