我需要通过简单地将可执行文件添加到android项目并构建.apk来在我的应用程序中执行一个C程序。然后我尝试在我的应用程序中执行程序,如下所示:
Process result = Runtime.getRuntime().exec("su");
String cmd = "PROGRAM_NAME";
DataOutputStream dos = new DataOutputStream(result.getOutputStream());
DataInputStreamdis = new DataInputStream(result.getInputStream());
dos.writeBytes(cmd + "\n");
dos.writeBytes("exit\n");
dos.flush();
我知道我需要 root 访问权限才能执行此操作,因此我安装了 Superuser.apk 但这不起作用。还有另一种可能的方法吗?顺便说一句,代码没有完全扩展它应该只看一下程序的执行方式我正在使用 Android 4.2.1 运行模拟器
编辑:首先检查root权限
Process suProcess = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(suProcess.getOutputStream());
DataInputStream osRes = new DataInputStream(suProcess.getInputStream());
if (null != os && null != osRes) {
os.writeBytes("id\n");
os.flush();
String currUid = osRes.readLine();
boolean exitSu = false;
if (null == currUid) {
Log.d("ROOT", "Can't get root access or denied by user");
}