Disclamer: this MR is far from being ready, but it's currently working well. Many things are still a bit ugly or experimental.
This merge request implements texture synchronization between the android SurfaceTexture and mediacodec.
Because the android entrypoints are interface only implementable in java, it adds a way to compile and bundle java into a .jar to Android application and bindings (libvlcsharp, libvlcjni) so as to implement the necessary JNI <-> Java wrappers. In a sense, it enables using Java as an IDL to expose C for the java runtime.
A LOT are not completely ready for this MR, but since I already sent part of it on the ML and the buildsystem parts will need some discussion, I think it was important to publish.
It doesn't involve the other buildsystem changes discussed for Android yet.