There is an odd quirk with the Android SDK: while the source code is Apache-2.0 licensed, free software, the binaries that Google ships are not free software and even put substantial restrictions on the apps that are built with the Google binaries. @beuc has been leading the effort to make actual free software binaries of the Android SDK. The Debian Android Tools Team has been working to package the Android SDK Tools as part of Debian.
There has been a great discussion on the FSFE Android mailing list about doing free software rebuilds of all the Android SDK components where we have outlined what is left to be done to actually ship this binaries to app developers who care about free software.
I’m proposing to use the F-Droid resources to both run a builder, which is easy now that we have the gcc cfarm machines. Then I also propose hosting the results in an sdkmanager repo on mirror.f-droid.org as the official source of this repo so that it can be easily mirrored elsewhere.
If we can get those builds to be reproducible, that will make it much easier to manage building the official binaries since we won’t need to have some super locked down builder machine.
This effort definitely needs help, here are some specific things where people can jump in:
- quite hard to even find the git tags that Google uses to make their builds
- write the scripts to make the sdkmanager repos from our binaries
- get sdkmanager packaged in Debian
- creating an Ansible automation to create the buildserver for these machines
- building all versions of the NDK based on the existing build scripts
- create build script for the Android Support libraries
- setup maven repo for all of the free software libraries
- scripted setup to automatically publish diffoscope output comparing our builds to Google’s official builds