Android SDK Tools in Debian
Description of the project: The Android platform is free software, including the tools used for developing apps for Android. Debian-derivatives are already a preferred platform for Android developers, and many Android SDK tools are included in Debian as part of the Android Tools and Java teams. This project is about working towards the goal of having the entire Android toolchain and SDK in Debian so that Android apps can be developed using only free software from easy-to-use packages. In combination with Replicant, this will make the most popular operating system in the world, Android, into a 100% Free Software platform.
There are many chunks of work to be done:
- finish packaging all of the core development tools (lint, gradle-plugin, SDK Manager, etc.)
update androidsdk-tools to the Android Tools Team style, and update to latest upstream version
- package new parts of the Android upstream source, including the NDK, target platforms, emulators, Android Studio, etc.
- make all Android Tools packages build reproducibly
- improve package build systems to be more tightly integrated with upstream build systems
add Continuous Integration tests
- package and improve related tools, like apktool, androguard, fdroidserver, drozer, etc.
Since this project is a large one, multiple mentors and students could work on it simultaneously. You can find relevant documentation in READMEs in each git repo and source package. There is also this wiki section: https://wiki.debian.org/AndroidTools
The Debian Android Tools Team works with git and git-buildpackage: https://wiki.debian.org/PackagingWithGit
Confirmed Mentor: Hans-Christoph Steiner
How to contact the mentor: firstname.lastname@example.org and _hc on IRC
Confirmed co-mentors: Markus Koschany <email@example.com> and apo on IRC, (add yourself! we had lots of student applications last year)
Deliverables of the project: The deliverables of this project will mostly be finished packages submitted to Debian sid, both for new packages and updated packages. Whenever possible, we should also try to get patches submitted and merged upstream in the Android sources.
Desirable skills: Building and packaging C and Java code, Android development, an understanding of git and git-buildpackage.
What the student will learn: Students will learn to figure out large scale projects like Android, and how to organize their own work within such projects. They will also learn about building and packaging C and Java, as well as some of the guts of Android itself.
Related projects: There is one GSoC project that is somewhat related: ?Reproducible builds for Debian and free software since the Android Tools should also build reproducibly. Replicant, the 100% free software Android ROM, is also working towards a 100% free software Android SDK.