关于安卓手机连接电脑的那些事儿(干货分享)

发表于 2015-12-18 14:36 | 浏览 2331

平时我们会经常使用数据线连接手机到电脑来安装软件,但是小伙伴们有木有发现,某些时候每当我们连接电脑后,手机上总会莫名其妙的多出一些xx卫士、xx助手,更严重的是甚至会有恶意程序会悄无声息在后台破掉你得root权限。这其中潜藏着巨大的安全隐患,一旦中招,后果可想而知...

所以当我们在电脑上连接手机时,还是多加小心为妙,起码要确保电脑本身是安全靠谱的,才是王道。当然这些缺油少盐的东东不是重点,菲菲君在想,能不能在尽量安全的前提下而又兼顾方便实用呢?好吧,接下来咱们就好好来聊聊。

前戏

当我们手机连接到电脑时(手机开启USB调试),不管你用的什么手机管理助手,其实都是通过电脑端的adb Client和手机端的adb Daemon进程传递命令来建立通信的。在手机设置里开启USB调试的本质,其实就是启动了手机端的adb Daemon(/sbin/adbd)服务进程。

为了深入浅出的摸清这其中的一二,菲菲君果断随手翻阅了Android源码,源码路径为system/core/adb/adb.c,原来adb在系统层面原生就可以就可以工作在两种模式:USB连接模式和TCP网络模式。USB模式这个很常用,那么TCP网络连接模式是甚么东东呢?咱们上adb的后花园来瞧瞧。

/sbin/adbd二进制文件的c++源码

原来当/sbin/adbd进程启动时,会首先检查是否设置了 service.adb.tcp.port(或persist.adb.tcp.port)属性,如果已经设置,好吧,那我就监听这个属性指定的端口,如果没有设置呢?咋办,这时如果又没监听在USB模式下,那么就会监听默认的 TCP:5555 端口。

也就是说,只要我们手动设置一下 service.adb.tcp.port 的属性,指定一个端口,然后重启adbd守护进程,就可以巧妙的打开adb的无线网络连接模式,这样不就可以实现不用数据线也能连接电脑了嘛!

实战

前提是你的手机已经成功获取了root权限,否则是不能来搞的。欲炼神器,必备工具,先准备好下面两枚小神器。

网上很多资料都是通过service adb属性来开启网络adb的,但是每次手机重启后就会失效,在这里菲菲博客给童鞋们独家分享一个更简单的方法,开启adb网络连接模式一步搞定,一劳永逸,永久生效!两种方法二选一:

手机党请手动操作

  • 下载安装R.E管理器,打开(需授予root权限)后进入 /data/property 目录下
  • 点手机的菜单键选择“新建文件”,新建一个名为“persist.adb.tcp.port”的新文件
  • 右键长按这个文件,选择“在文本编辑器中打开”,输入一个1024-65535之间的端口号退出保存

电脑派可一键搞定

  • 手机通过USB连接到电脑(需要开启USB调试模式)
  • 打开cmd窗口,执行下面的命令(如果看不懂命令还是乖乖用RE手动操作吧,别乱搞)
adb shell su -c "echo 21559 > /data/property/persist.adb.tcp.port"

(命令中的“21559”为端口号,你可以自行设为其他端口,要大于1024,小于65535)

通过上面的两种方法都可以轻松开启adb的网络工作模式,首次操作完成后只要重启一次手机就可以永久生效了。然后电脑端下载准备好adb工具包,在cmd窗口执行 adb connect 手机IP:端口号 即可连接手机的shell。

在电脑打开cmd命令行窗口执行adb

安全

通过以上方法操作完成后,就可以永久开启adb网络连接模式了,但是同样需要注意安全的问题,其一大家可以通过手机设置 - 开发者选项 - USB调试模式来实时开启或关闭adb的监听端口,随用随开,不用了就关闭就好咧。

其二就是上面方法提到的自定义端口,尽量不使用默认的5555端口,这样在和别人共用WiFi的情况下也不会有太多的安全隐患,因为对方不知道你的端口也是连接不了的。当然了,如果你只用自己家的WiFi的情况下请随意。。。

【菲菲小贴士】以上方法在 Android 4.0 以上版本亲测有效,不适用于安卓2.x版本(2.x版本的手机很少人用了已经貌似哈,安卓最新版本已经更新到6.0了哎。。^_^)最后附送小伙伴们一个可以在线免费查看Android源代码歪果仁的网站,访问速度超快,关键是还不用“架梯子”哦!从 Android 1.6 到 6.0版本的源码样样齐全。GO >>http://androidxref.com/

(原创文章版权所有,如需转载请注明原文链接!)