README.md: clarify this is not a mere PoC anymore; add deeper thought provocation to doc/

This commit is contained in:
Mis012 2023-10-08 22:31:57 +02:00
parent 5574d60b10
commit 2bb61d98be
2 changed files with 29 additions and 1 deletions

View file

@ -1,4 +1,4 @@
### PoC for a translation layer that would execute the abolute minimum of android-specific code necessary in order to run an android app on a Linux system ### A translation layer that allows running android apps on a Linux system
--- ---

28
doc/Semantics.md Normal file
View file

@ -0,0 +1,28 @@
### what is this, again?
When this project was first conceptualized, it was thought of as a translation layer - something
akin to Wine. However, after becoming more familiar with the Android platform, it seems that
there is a more interesting way to frame this.
If you read through https://source.android.com/docs/compatibility/cdd, even the oldest linked
https://source.android.com/static/docs/compatibility/1.6/android-1.6-cdd.pdf, you may be intrigued
by the following:
>... For this reason, the Android Open
Source Project [Resources, 4] is both the reference and preferred implementation of Android. ...
After reading through a reasonably recent version of this document, it would seem that a Linux
distribution which uses this project to run android applications, and creatively interprets
some of the requirements, could be shipped on a device and that device could be branded as
an android device (provided that this project ever matures to a point where it can run
the full compatibility test suite)
While this is mostly fully academic, it suggests that this project could be seen as a work-in-progress
core part of an alternative implementation of Android, or possibly as a reframing of the android
platform as something akin to the Qt platform - a framework for applications to use, which is
a pseudo-platform on top of a different platform (in Qt's case, this ensures easier portability
of the resulting apps; in our case, the only platform we can realistically support is Linux,
since most apps use native libraries. BSDs with Linux compatiblity layers should also work fwiw
(THIS WAS NOT TESTED), but it's debatable whether that counts.) Funnily enough, bionic libc seems
to be decently shimmable to either glibc or musl, so that gives us binary compatibility between
glibc and musl systems.