I understand that IPC between different apps on Android has been discussed a lot, and there are quite a few articles on how to use mechanism like AIDL. But all the examples I came across are different from my case here:
- The online examples of IPC I found are regarding two apps managed by ART (Android Run Time), even though some examples covered how to use AIDL in native C++ code, these C++ codes are called within a process managed by ART and have JVM involed.
- In my case, I have an Android server app managed by ART, and a C++ client executable that is not managed by ART and has zero Java code. This client executable is not an APK normally launched from the home screen, and has no JVM created when running, it is a Linux executable pushed to device via adb, and executed from the adb shell, just like what we do on Linux.
For my use case, what are the available mechanism for IPC?
(In case you are wondering why I want run a native Linux process in adb shell, here is why: with Android port available on Raspberry Pi and some other SOC devices, you can build your own Android ROM from source and re-use existing Linux code to run some apps on these devices)
Thanks in advance!