实现Android手机通过WIFI和PC连接


最近一段事件一直在研究如何用wifi和PC连接,但是在网上找了很久,也看过很多例子。都没有成功。无奈只好自己研究。最后自己写了一个小Demo。分享一下。

1.在程序中通过

Runtime.getRuntime().exec("su");

获得手机root权限(手机必须是root之后的)。

2.重新启动adbd

exec("stop adbd");

exec("start adbd");

3.与PC建立连接(我是通过bat文件进程处理的)

/**
  * 手机连接wifi.
  *
  * @param host 手机ip:端口号。例如:192.168.10.124:8888
  * @return retcode 成功:1 ,失败:2
  */
 public int connectWifi(String host) {
  String cmd = ParseProperties.getProperties("dir")
    + "bin/ConnectWifi.bat " + host;
  BufferedReader reader = null;
  int retcode = 0;
  try {
   Process process = Runtime.getRuntime().exec(cmd);

   reader = new BufferedReader(new InputStreamReader(
     process.getInputStream()));
   @SuppressWarnings("unused")
   String line = null;
   String returnLine = null;
   System.out.println("*****************************");
   while ((line = reader.readLine()) != null) {
    if (line != null)
     returnLine = line;
    System.out.println(line);
   }
   if (returnLine.trim().startsWith("connected to")) {
    retcode = SUCCESS;
   } else if (returnLine.trim().startsWith("already connected to")) {
    retcode = SUCCESS;
   } else {
    retcode = FAILE;
   }
   System.out.println("*****************************");
  } catch (IOException e) {
   e.printStackTrace();
   retcode = FAILE;
  } finally {
   if (reader != null) {
    try {
     reader.close();
    } catch (Exception e) {
     e.printStackTrace();
    }
   }
  }
  if (retcode == 0) {
   retcode = FAILE;
  }
  return retcode;
 }

bat文件

bat文件中的内用很简单 adb connect %1

通过上述方法就能通过wifi和PC连接在一起了。注意:手机和PC机要在同一个局域网中。

相关内容