本人新手一枚,公司是做机顶盒的 ,最近发现有用户使用ADB自己往机顶盒上面装软件,这我能忍老板不能忍,之后就叫我做了一个功能,发布版本时关闭Android的ADB功能,刚开始的时候百度了很多 大部分都多改源代码,虽然手里有,但是为了这么一点小事改也不是那么办法,最后通过一位老哥的帮助终于实现了,其实并不难,贴代码
1 /** 2 * 执行Shell命令 3 * @param cmd 4 */ 5 public static void execShell(String cmd){ 6 try{ 7 //权限设置 8 Process p = Runtime.getRuntime().exec("su"); 9 //获取输出流 10 OutputStream outputStream = p.getOutputStream(); 11 DataOutputStream dataOutputStream=new DataOutputStream(outputStream); 12 //将命令写入 13 dataOutputStream.writeBytes(cmd); 14 //提交命令 15 dataOutputStream.flush(); 16 //关闭流操作 17 dataOutputStream.close(); 18 outputStream.close(); 19 } 20 catch(Throwable t) 21 { 22 t.printStackTrace(); 23 } 24 }
就是这一个方法,来shell命令
1 stop adbd //关闭ADB 2 start adbd //开启ADB
调用的时候只需要在execShell方法里传入相对应的字符串即可