[arch-general] Android support in Linux Arch

Anatol Pomozov anatol.pomozov at gmail.com
Wed Apr 16 18:38:33 EDT 2014


In my TU application I promised to look at situation with Android
support in Arch.

Android is an open-source project that has a number of sub-projects.
The official website offers prebuild binaries for those sub-projects
such as sdk, ndk, build-tools, IDE plugins,... We want to simplify
Android installation and maintenance and looking into turning it into
real packages. Installing tools by downloading and unpacking is sux
and so 90s.

The naive way to add packages is to use these binaries and just repack
them into Arch packages. Or download-at-installation - something like
what we do for proprietary software. AUR has many android packages
that download binary files from Android website. But using prebuilt
binary packages is something atypical for Arch. There are issues with
it:

- android download site provides only 32-bit binaries so multilib
repositories are required
- prebuild packages do not use standard installation paths
- they compile against older version of third-party projects and
bundled it into download files. The packages should depend on existing
system libraries instead.

The plan is to provide proper Arch packages that do not have the
problems listed above.

I initially tried to build a package that follows "build whole Android
source-tree" official instructions [1]. And then pack only parts we
need. Oh boy, this was painful. The source tree is several Gb of code,
it pulls prebuilt versions of gcc, clang, python,.. It requires
specific version of make and java. After a week of trying to build
Android on Arch without using prebuilds I gave up.

Actually those instructions [1] build system images that include
kernel and ARM code for a specific hardware. Arch does not need it.
I've decided to attack this problem from other side: find what exactly
we need to pack as Arch packages and then build it from sources.

I've decided to look to AUR non-binary android packages and see what
people vote for (who said that voting is useless?). There are a number
of packages that seems good for moving to [community]:

- android-tools https://aur.archlinux.org/packages/android-tools/ It
contains adb and fastboot. These the packages that I am interested in.
I am not an Android developer I am just an Android user and adb is the
most useful Android tool for me.

- android completion for adb/fastboot
https://aur.archlinux.org/packages/android-bash-completion/  these
files can be merged into previous package.

- android-udev https://aur.archlinux.org/packages/android-udev/ sounds
useful as well

These 3 packages is easy to move to [community] and my gut feeling
says it should be enough for the most Android users.


These is another category of users: those who *develop* for Android
and need a lot of other tools, such as:

sdk
sdk-build-tools: aapt, aidl, dexdump, dx, llvm-rs-cc
ndk
api docs
IDE plugins?
system images?

I did not find source packages for it at AUR. So if we want to add it
[community] we need to create such packages but it might be quite
hard.

Are there people with Android development background? What exactly do
you miss in Arch? Is it worth building our own SDK/eclipse
plugins/...?


[1] http://source.android.com/source/building-running.html


More information about the arch-general mailing list