I am looking for more knowledge as to how root works.
I am writing an app for my Pixel that calls a binary that needs root to run effectively. I am currently running an eng build that I build from aosp with root access (lunch aosp_saifish-eng). I am able to run my binary in root shell through adb. However, when I try to kick it off from an app that I wrote in Android Studio, I get a permission denied error. I am calling for root using this code:
Process rootProcess = Runtime.getRuntime().exec("su");
Is there a way for an app to use su without the help of a root management app like SuperSU? Perhaps my understanding of root is lacking. I would appreciate any help or direction as to where to go to learn more about why this is not working.