Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock

Please unblock source packages:
* android-framework-23/debian/25.0.0+9
* android-platform-dalvik/8.1.0+r23-2
* android-sdk-meta/25.0.0+9

With the collective brain power of the android-tools and java teams and
lots of other advice, we finally got android-frameworks-23 to build in
buster, and managed to do it without needing openjdk-8.  These packages
are key packages to tie together the whole suite of Android SDK packages
that are already in buster.   android-platform-dalvik and
android-sdk-meta were blocked by android-framework-23.

After weeks of work spread out over months since last summer, we finally
got a version of this package that works in buster.  We first tried to
do a whole new approach that was closer to upstream, and that failed
after a lot of work.  That's why we didn't respond to #894285 until the
buster freeze was looming, and fixing the existing FTBFS looked to be
the only way forward.  So on Jan 29th, 2019, I discussed this in
#debian-devel with wRAR, mapreri, kibi, XTF, and pabs.  Then, the plan
was to Build-Depends: openjdk-8.  I'm happy to say that this package
works with default-jdk, so openjdk-8 could be entirely removed, as far
as Android Tools is concerned.

Today, this issue was discussed in #debian-devel with elbrus, wRAR, and
adsb.  And upon their recommendation, I'm writing up a big report here.
 I uploaded android-sdk-meta/25.0.0+9 today to set all the proper
versions and add autopkgtest to ease this process.  We left the version
setting til last since we were not sure which version of
android-framework-23 would make it into buster.


Why should these be in buster?
------------------------------

• android-frameworks-23 only needs small changes from stretch

• android-platform-dalvik/8.1.0+r23-2 was already in buster, but was
  removed because of the lack of android-frameworks-23

• `apt-get install android-sdk` was in stretch, and is widely documented

• Replicant depends on these packages as its free software SDK

• diffoscope, apktool, and related tools will be crippled by their
  absence, users will have to compile their own android.jar to replace
  the one that android-framework-23 provides.

• android-sdk includes udev rules for android devices, Google itself
  recommends this package as the official way to install udev rules for
  Android devices:
  https://developer.android.com/studio/run/device.html

• This suite of packages ranks relatively high in Popularity Contest:

https://qa.debian.org/developer.php?email=android-tools-devel%40lists.alioth.debian.org

I recognize this is not a good situation.  It has been a very difficult
path here over many months.  The Android upstream seems to fight anyone
who dare mess with their code outside of their whack system of "prebuilts".


Some background
---------------

Failed attempt replacing android-framework-23 with something based on
the upstream build system:
https://salsa.debian.org/cdesai-guest/debian-android-manifest

Android-Tools and Java team discussion on this topic:
https://alioth-lists.debian.net/pipermail/android-tools-devel/2019q1/003824.html

key recommendation from Guardian Project list:
https://lists.mayfirst.org/pipermail/guardian-dev/2019-February/005480.html

Build Android apps with Debian: apt install android-sdk:
https://guardianproject.info/2017/03/13/build-android-apps-with-debian-apt-install-android-sdk/

Lots of IRC discussions in #debian-mobile, #debian-java, and #debian-devel.


Why is packaging Android Tools so hard?
---------------------------------------

The entire Android OS and SDK is built from a single giant source repo
with one single interwoven build system made of many parts.  The
standard Android SDK binaries from Google have a non-free license and
are built with ~13GB of mystery binaries they call "prebuilts".  These
prebuilts often come from thin air with no documentation of how they
were built.  Upstream puts out no source release, and often changes
build systems (make, ninja, blueprint, gradle, cmake, etc).

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to