Android13 wifi adb 串口开启
文章目录
- Android13 wifi adb 串口开启
- 一、前言
- 二、开启wifi adb
- 1、开启wifi adb 命令:
- 2、查看和设置 adb默认值
- 3、adb 开启属性prop和settings属性的关系
- 三、总结
- 1、Android13 开启adb 串口命令
- 2、Android 13 wifi adb设置固定端口解决
- 3、Android13 网络 Adb 默认开启
- 4、Android 13 网络 Adb相关流程深入分析研究
一、前言
Android13 wifi adb比之前的版本都麻烦,主要是端口号每次会变化,之前版本端口号是固定的5555
Android 12或者更新的系统版本,adb 连接要加端口号,adb connext X.X.X.X:端口号
以前的版本是不用加端口号的,因为是默认的5555,系统会自动添加.
如果需要手动开启,需要进入开发者选择中,开启wifi adb。并且开启的前提是wifi 开启的情况。
如果连接的是有线网络,wifi adb 就无法开启了。
之前也有写过很多文章对wifi adb 开启的代码分析,在最好总结的地方有介绍。
但是如果不修改系统代码,如果要开启wifi adb怎么搞呢?本文介绍一下。
二、开启wifi adb
先揭晓一下答案
1、开启wifi adb 命令:
setprop persist.adb.tls_server.enable 1
这个 persist.adb.tls_server.enable 系统是没有设置默认值的,设置为 1,就会触发开启adb。
这个属性是Android12 开始有的。
串口可以查看adb相关属性
rk3588_t:/ # getprop | grep adb
[init.svc.adbd]: [running]
[init.svc_debug_pid.adbd]: [475]
[persist.adb.tls_server.enable]: [1] //adb 开启属性
[persist.adb.wifi.guid]: [adb-aab63f95218427db-X0DNlk]
[persist.sys.usb.config]: [adb]
[ro.boottime.adbd]: [4627688654]
[service.adb.tls.port]: [5555] //adb端口号属性,默认是随机的,这里的系统已经适配过固定端口号了
[sys.usb.config]: [adb]
[sys.usb.state]: [adb]
rk3588_t:/ #
知道端口号,再用ifconfig 查看网络ip,就可以adb connect连接了。
2、查看和设置 adb默认值
getprop persist.adb.tls_server.enable //查看prop属性
settings get global adb_wifi_enabled //查看Settings 属性
setprop persist.adb.tls_server.enable 1 //设置prop属性
settings put global adb_wifi_enabled 1 //设置Settings 属性
3、adb 开启属性prop和settings属性的关系
adb 的开启是从上往下开启的。
原生设置里面开启wifi adb 是设置 settings.global.adb_wifi_enabled 属性,
系统代码中监听到settings 属性变化,调用接口设置 prop属性。
但是实际开启生效的是prop属性,所以直接设置prop属性是可以的,底层是有在一直监听prop变化的。
正常流程开启wifi adb 后,settings和prop adb 开关属性都是置为 1
但是如果wifi 未开启,settings 的adb 属性是无法设置为1的,因为系统代码中有判断wifi是否打开和连接的逻辑。
系统设置应用中wifi adb 开关的状态是读取的 settings adb 属性,
所以如果手动设置adb prop 属性进行adb 开关,设置应用显示的adb状态是不准确的。
其实这里还有很多其他逻辑,比如wifi adb 开启后,切换wifi 后,wifi adb 会关闭!
具体的可以看看系统代码。
三、总结
1、Android13 开启adb 串口命令
setprop persist.adb.tls_server.enable 1
2、Android 13 wifi adb设置固定端口解决
3、Android13 网络 Adb 默认开启
4、Android 13 网络 Adb相关流程深入分析研究