Is it possible to execute adb commands through my android app?
Solution 1:
You can do it with this:
Process process = Runtime.getRuntime().exec("your command");
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
Don't forget to surround it with a try and catch statement.
Edit:
@Phix is right, ProcessBuilder would be better to use.
Solution 2:
Normal Android apps have different privileges to processes started via adb
, e.g., processes started via adb
are allowed to the capture the screen whereas normal apps aren't. So, you can execute commands from your app via Runtime.getRuntime().exec()
, but they won't have the same privileges as if you had executed from an adb shell
.