I have a specific client request where there is a custom carried board which is controlled by a iMX8 SOM. On this board there is installed the Android system because there are specific Android applications (Java and Kotlin) which need to be run. I need to create a background service which controls specific IO peripherals (I2C, GPIOs, UART, etc...).
I suppose that in order to make a background (using the board IO peripherals) service which runs at the start of the Android OS system is to develop a C/C++ application (CMake based project) which will be cross compiled using a toolchain for the iMX8 and will be started at system boot through the "init.rc" script, right? Have you any available guide/material for such purpose so that I can begin with the best-practice solution?
I already tried using Android NDK, but I have "permission denied" errors also when installing the app in the "system/priv-app" folder (with the correct permissions).
Which is the correct way to approach this kind of project? Thank you.