最近由于工作中需要通过WiFi来进行ADB连接。经过查阅相关资料以后,总于能够实现通过WiFi来进行ADB连接。前提是需要将设备Root。现将方式记录如下:
Linux命令如下:
"setprop service.adb.tcp.port 5555"
"stop adbd"
"start adbd"
将以上3条命令传入以下方法,便可以执行了
/** * 执行命令并且输出结果 */ public static String execRootCmd(String cmd) { String result = ""; DataOutputStream dos = null; DataInputStream dis = null; try { Process p = Runtime.getRuntime().exec("su");// 经过Root处理的android系统即有su命令 dos = new DataOutputStream(p.getOutputStream()); dis = new DataInputStream(p.getInputStream()); Log.i(TAG, cmd); dos.writeBytes(cmd + "\n"); dos.flush(); dos.writeBytes("exit\n"); dos.flush(); String line = null; while ((line = dis.readLine()) != null) { Log.d("result", line); result += line; } p.waitFor(); } catch (Exception e) { e.printStackTrace(); } finally { if (dos != null) { try { dos.close(); } catch (IOException e) { e.printStackTrace(); } } if (dis != null) { try { dis.close(); } catch (IOException e) { e.printStackTrace(); } } } return result; }
例如:
AdbConnectUtils.execRootCmd("setprop service.adb.tcp.port 5555") AdbConnectUtils.execRootCmd("stop adbd") AdbConnectUtils.execRootCmd("start adbd")
执行完上述方法后,直接在pc终端输入:adb connect 192....便可成功连接到设备