[Replicant] Could we build the Android frameworks fo Linux?

Joel Valenciano joelv1907 at gmail.com
Tue Mar 10 14:29:38 UTC 2020


Yeah, I was asking about running on top of GNU/Linux. I think it
should be possible; the Compatibility Definition Document
(https://source.android.com/compatibility/overview) only requires ABI
compatibility for a few native libraries, and most of that is covered
by, for example, libhybris.

The build system does have "packages", I think, in the form of
modules. The names used in Makefile LOCAL_MODULE definitions and
Blueprint modules have to be unique, I think; a while ago I tried
running the build system with just the frameworks, libcore and art
repositories, and I got several "undefined module" errors. Maybe the
license information could be added there as variables or Blueprint
properties?

And I think the host-side utilities are linked to the version of Glibc
in the AOSP's prebuilts repositories. Running "readelf -d" on adb says
it's linked to "libc.so.6".


On Mon, Mar 9, 2020 at 11:48 PM Denis 'GNUtoo' Carikli
<GNUtoo at cyberdimension.org> wrote:
>
> On Mon, 9 Mar 2020 02:26:54 -0500
> Joel Valenciano <joelv1907 at gmail.com> wrote:
>
> > Does anyone know of a way to compile them to run like that?
>
> If you question is about using the Android framework with the upstream
> Linux kernels interfaces, that is possible, and Replicant 9 should
> normally have that.
>
> If instead you're looking to run the Android framework on top of
> GNU/Linux we are really interesting in that too: we have a number
> of serious issues we would like to fix in Android that would
> require using a build system that has a concept of packages.
>
> Even if the task of packaging Replicant in some distribution like
> Parabola or GuiX is not done because of the amount of work required,
> even a more partial approach has some benefits.
>
> For instance Android ships a toolchain and some tools required to
> compile it that are free software but in binary form. Packaging such
> tools would be a good idea.
>
> GNU/Linux distributions have the same issue as they also need to
> package utilities like adb which are built against bionic (the Android
> libc) and that depends on the Android build system.
>
> We keep track of that in our wiki here:
> https://redmine.replicant.us/projects/replicant/wiki/Upstream#Tools-and-build-systems
>
> And while some distributions like Debian got to the point where they
> manage to package the full Android SDK in some older Debian version, I'm
> unsure if that allows to run the Android framework or what would be
> left to enable that.
>
> We were also told by Michiel from NLnet that NixOS was working
> on something in that regard too, but we didn't look yet in the details.
>
> Apart from that there are other approaches like running Android in an
> lxc system container:
> https://www.collabora.com/news-and-blog/blog/2019/04/01/running-android-next-to-wayland/
>
> I also heard of other attempts to enable to run Android applications on
> GNU/Linux, many of which were not free software. Though I'd have to
> do more research on the free software attempts, and while it's very
> interesting, it's also less relevant to what we want to do
> in Replicant.
>
> If my memory is good puri.sm may also have managed to port at least one
> Android applications to GNU/Linux but I'd have to do more research on
> that to be sure that it's really the case, and to look at the technical
> details.
>
> Denis.


More information about the Replicant mailing list