[Android-tools-devel] New Android SDK/NDK Rebuilds

Hans-Christoph Steiner hans at guardianproject.info
Mon Nov 26 16:32:35 GMT 2018

beuc at beuc.net:
> Hi!
> Targetting only the latest SDK platform sounds like a good compromise.
> Do you plan to do it for 8.1/API27 or is there not enough manpower atm?

We will need help to get the android-framework-27 source package
finished for Debian/buster, which makes "platform-27".

> I didn't plan to use CI given my build stats:
> https://android-rebuilds.beuc.net/SDK_9.0.0/#index7h2
> (SDK / worst case: 200GB SSD + 5-6h quad-core + download time)
> but if we can connect it to the F-Droid infrastructure I'm all for it :)
> (I'll answer to your MR to discuss the technicalities)

It would be really great to connect your builds to the F-Droid builds!
The first step would be to make a repository of your packages that
sdkmanager can use.  I could probably host that on mirror.f-droid.org,
or perhaps another box.  How much space would that need?

The NDK and sdk_tools builds finish in under an hour.  I didn't realize
the SDK build was _that_ big!


> ++
> Sylvain
> On Mon, Nov 26, 2018 at 01:53:07PM +0100, Hans-Christoph Steiner wrote:
>> To cover how apps use the Android SDK, there needs to be an
>> NDK/"platform"/build-tools package for every release.  For something
>> like "build-tools" and "platform", Debian Android Tools aims to provide
>> one relatively recent release.  That covers use cases where users just
>> want fastboot, for example.
>> F-Droid would like to be able to build all free software apps, so that
>> means building with whatever build-tools, platform, NDK, etc that is
>> specified by that app.  In that case, the Debian packages cannot cover
>> all those cases.
>> I see you're starting to do the rebuilds on gitlab-ci!  If you need a
>> large runner, I give you access to the FDroid one.  It is a 30 core VM
>> with 32GB RAM and plenty of disk space.  I could also give you root/ssh
>> to a dedicated VM on that box, but with 16GB RAM.
>> .hc
>> beuc at beuc.net:
>>> Hi Hans-Christoph,
>>> Great to hear there is activity!
>>> Nice job isolating, checking and recompiling the base tools :)
>>> I'm surprised by: "it doesn't make sense to include in a distro
>>> (e.g. "platforms", NDK, support libs, etc).".
>>> The DAT project scope is confusing to me now:
>>>   "In the long run, the Android Tools Team aims to cover more use
>>>   cases well, and also building the Android NDK."
>>>   https://bits.debian.org/2017/03/build-android-apps-with-debian.html
>>>   "apps targeted at android-23 can be built with only Debian
>>>   packages. We will add more API platform packages via backports
>>>   afterwards.
>>>   https://wiki.debian.org/AndroidTools
>>> Did it change?
>>> Cheers!
>>> Sylvain
>>> On Mon, Nov 26, 2018 at 10:29:59AM +0100, Hans-Christoph Steiner wrote:
>>>> Hey Sylvain,
>>>> Thanks for your work!  I'm part of the Debian Android Tools Team
>>>> (CC'ed), I also added seamlik in CC.  We are still working on things.
>>>> seamlik almost has v8.1.0 of the core parts of the SDK in Debian.  We
>>>> could definitely use help, its a big project.
>>>> One thing that I think would be good to think about is how to most
>>>> efficiently use our time.  One way would be to standardize on your
>>>> rebuilds for all of the things that it doesn't make sense to include in
>>>> a distro (e.g. "platforms", NDK, support libs, etc).  And then
>>>> standardize on the Debian packages as the core provider of free SDK
>>>> tools ("tools", "platform-tools", etc).  The Debian packaging is
>>>> actually mostly custom Makefiles, so it could be easily adopted by other
>>>> distros.  We use absolutely no prebuilts, so we've achieved that
>>>> already.  That was indeed quite a large part of the work (lombok,
>>>> gradle, kotlin, etc).
>>>> The biggest blocker right now is finishing the Kotlin packaging.  That
>>>> would be a great place for contributors to join in.
>>>> Perhaps a better place to check the status of the Debian Android Tools
>>>> Team packages is here, where you can see most are updated to
>>>> https://qa.debian.org/developer.php?email=android-tools-devel%40lists.alioth.debian.org
>>>> Also, FYI, almost all the Debian packages can be reproducibly built:
>>>> https://salsa.debian.org/android-tools-team/admin/wikis/home
>>>> .hc
>>>> beuc at beuc.net:
>>>>> Oh, if you questionned my worry about Debian & Replicant, I'm mostly
>>>>> worried I'm the only person on earth doing free builds of the SDK/NDK.
>>>>> Which is not a sustainable situation ;)
>>>>> - Sylvain
>>>>> On Fri, Nov 23, 2018 at 11:22:01PM +0100, beuc at beuc.net wrote:
>>>>>> Hi!
>>>>>> Basically I don't want to accept this agreement
>>>>>> https://developer.android.com/studio/terms
>>>>>> but I have to if I want to download any Android tool binary.
>>>>>> See also:
>>>>>> https://blogs.fsfe.org/torsten.grote/2013/01/03/android-sdk-is-now-proprietary-replicant-to-the-rescue/
>>>>>> https://code.paulk.fr/article0008/what-s-up-with-the-android-sdk
>>>>>> Moreover I got reports of such downloads being blocked in e.g. Iran.
>>>>>> https://medium.com/@AliBehzadian/pain-of-being-android-developer-in-iran-390fb3190cb3
>>>>>> Rebuilding everything including the "prebuilts" binaries would be the
>>>>>> next step (and great!).  Help is needed and appreciated :)
>>>>>> - Sylvain
>>>>>> On Fri, Nov 23, 2018 at 10:09:00PM +0000, Joonas Kylmälä wrote:
>>>>>>> Hi,
>>>>>>> is the SDK code free if you build it from AOSP source code?
>>>>>>> The license list at
>>>>>>> https://android.googlesource.com/platform/development/+/master/sdk/
>>>>>>> is overwhelming me but at least
>>>>>>> https://android.googlesource.com/platform/sdk/
>>>>>>> looks to be simply Apache License 2.0 licensed.
>>>>>>> What are your worries about the current situation? Is it that it
>>>>>>> wouldn't be available on a free operating system because it is hard to
>>>>>>> package it to small packages because all the different parts of source
>>>>>>> code depend on each other? Something else?
>>>>>>> On a side note: what I don't like about the AOSP SDK code is that some
>>>>>>> of the things are already in binary form in the source code (though,
>>>>>>> they are free) and if you want to trust actually the binary you are
>>>>>>> getting you need to re-build also the binary blobs in the source code
>>>>>>> yourself from their respective source code.
>>>>>>> Joonas
>>>>>>> beuc at beuc.net:
>>>>>>>> Hi,
>>>>>>>> The Android SDK license agreement changed but it remains non-free.
>>>>>>>> I recompiled SDK 9.0.0, NDK r18b and SDK Tools 26.1.1
>>>>>>>> (without this non-free EULA):
>>>>>>>>   https://android-rebuilds.beuc.net/
>>>>>>>>   https://gitlab.com/android-rebuilds/auto
>>>>>>>> NDK is significantly easier to recompile now; new tools are present
>>>>>>>> such as the Android Gradle Plugin (though I didn't manage to produce a
>>>>>>>> useable repository for it); Android Studio claims it comes with
>>>>>>>> non-free components such as CLion so I don't redistribute it.
>>>>>>>> Feedback welcome!
>>>>>>>> I'm a bit worried about the current situation by the way:
>>>>>>>> - AFAICS Replicant delegated all SDK work to Debian Android Tools
>>>>>>>>   https://blog.replicant.us/2017/04/there-wont-be-a-replicant-6-0-sdk-because-there-is-already-something-better/
>>>>>>>> - Debian Android Tools provided initial SDK 6 support
>>>>>>>>   https://wiki.debian.org/AndroidTools
>>>>>>>> - Debian Android Tools didn't update the SDK, and plus SDK 6 doesn't
>>>>>>>>   compile with newer tools and was removed from the upcoming release:
>>>>>>>>   https://packages.debian.org/search?keywords=android-sdk-platform
>>>>>>>> Are there other efforts for free SDK/NDK/Studio ?
>> -- 
>> PGP fingerprint: EE66 20C7 136B 0D2C 456C  0A4D E9E2 8DEA 00AA 5556
>> https://pgp.mit.edu/pks/lookup?op=vindex&search=0xE9E28DEA00AA5556

PGP fingerprint: EE66 20C7 136B 0D2C 456C  0A4D E9E2 8DEA 00AA 5556

More information about the Android-tools-devel mailing list