diff --git a/README.md b/README.md index 110f5703..d3c2acbc 100644 --- a/README.md +++ b/README.md @@ -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 --- diff --git a/doc/Semantics.md b/doc/Semantics.md new file mode 100644 index 00000000..ffdc98c4 --- /dev/null +++ b/doc/Semantics.md @@ -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.