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