最近一段事件一直在研究如何用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机要在同一个局域网中。