如果apk拥有权限
private String execCmd(String cmd){ Runtime runtime = Runtime.getRuntime(); Process p = null; try{ p = runtime.exec(cmd); try(InputStream inputStream = p.getInputStream(); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream))){ String line; String result = ""; while ((line = bufferedReader.readLine()) != null ){ result += line; } return result; } }catch (Exception e){ Log.i("yangyu",e+""); e.printStackTrace(); }finally { if(p != null){ p.destroy(); } } return null; }
如果没有权限
private String execCmd(String cmd){ Runtime runtime = Runtime.getRuntime(); Process p = null; try{ p = runtime.exec("su"); try(OutputStream outputStream = p.getOutputStream(); DataOutputStream dataOutputStream = new DataOutputStream(outputStream)){ dataOutputStream.writeBytes(cmd); dataOutputStream.flush(); } try(InputStream inputStream = p.getInputStream(); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream))){ String line; String result = ""; while ((line = bufferedReader.readLine()) != null ){ result += line; } return result; } }catch (Exception e){ Log.i("yangyu",e+""); e.printStackTrace(); }finally { if(p != null){ p.destroy(); } } return null; }
参考
浙公网安备 33010602011771号