Android14 串口控制是能wifi adb实现简介

Android14 串口控制是能wifi adb实现简介

一、前言

文章目录

  • [Android14 串口控制是能wifi adb实现简介](#Android14 串口控制是能wifi adb实现简介)
    • 一、前言
    • [二、Android14 串口控制是能wifi adb实现](#二、Android14 串口控制是能wifi adb实现)
      • 1、设置prop属性命令开启adb
        • (1)相关prop属性设置
        • [(2)在设置界面或者 ifconfig命令 查看wifi或者有线的ip地址:](#(2)在设置界面或者 ifconfig命令 查看wifi或者有线的ip地址:)
        • [(3)串口确认查看关键 adb 属性是否ok](#(3)串口确认查看关键 adb 属性是否ok)
        • [(4)cmd 使用adb connect 连接adb](#(4)cmd 使用adb connect 连接adb)
      • [2、设置Settings Global属性命令开启adb](#2、设置Settings Global属性命令开启adb)
      • [3、设置prop属性和设置Settings Global属性命令开启adb的区别](#3、设置prop属性和设置Settings Global属性命令开启adb的区别)
    • 三、其他
      • [1、wifi adb 控制小结](#1、wifi adb 控制小结)
      • [2、Android13 串口控制是能wifi adb实现](#2、Android13 串口控制是能wifi adb实现)
      • [3、Android 13 wifi adb设置固定端口解决](#3、Android 13 wifi adb设置固定端口解决)
      • [4、Android13 网络 Adb 默认开启](#4、Android13 网络 Adb 默认开启)
      • [5、Android 13 网络 Adb相关流程深入分析研究](#5、Android 13 网络 Adb相关流程深入分析研究)
      • [4、如果需求是连接有线网,应用打开wifi adb 可以正常连接adb](#4、如果需求是连接有线网,应用打开wifi adb 可以正常连接adb)
      • 5、adb简介及常用命令总结

Android 系统开发初期调试,一般有串口功能调试,但是可能没有adb功能。

adb功能比串口调试方便一些,比如可以直接传输文件,定向打印日志到电脑,投屏,安装电脑中的apk等功能。

还有些情况是设备可以连接有线网,但是wifi有问题,上层接口无法打开adb,但是使用prop属性设置可以打开有线adb调试。

有需要的可以收藏看看。

本文只要介绍实现步骤,不详细介绍具体过程,adb相关过程之前已经分析过了,

虽然有的过程分析不是很准确,但是对于定制化是很有作用的。

二、Android14 串口控制是能wifi adb实现

1、设置prop属性命令开启adb

(1)相关prop属性设置
//获取查看adb 属性
getprop | grep adb 

//设置 adb 关键属性值
setprop persist.sys.usb.config adb //设置 usb adb开关,有些设备默认是开启
setprop persist.adb.tls_server.enable 1 //设置adb开关,默认都是关闭的
(2)在设置界面或者 ifconfig命令 查看wifi或者有线的ip地址:
eth1      Link encap:Ethernet  HWaddr 00:0e:c6:9c:5a:cc  Driver ax_usb_nic
          inet addr:192.168.31.18  Bcast:192.168.31.255  Mask:255.255.255.0 
          RX bytes:1028622 TX bytes:55833 
(3)串口确认查看关键 adb 属性是否ok
console:/ # getprop | grep adb 
[init.svc.adbd]: [running]  //1、查看adb 是否正常运行
[persist.adb.tls_server.enable]: [1] //2、adb 服务是否开启
[persist.adb.wifi.guid]: [adb-a3b8c4a577a390f3-f6PGY4] //wifi adb 的进程 
[persist.sys.usb.config]: [adb] //3、usb adb 是否打开
[service.adb.tls.port]: [33395] //4、adb端口号
[sys.rkadb.root]: [0]
[sys.usb.config]: [adb]
console:/ # 

需要确认1-3点是否是adb 打开的状态;

第4点事adb端口号,Android13 之后都都是要端口号才能连接wifi adb;

当然也可以系统源码设置成默认5555,就可以不用设置端口号连接adb。

(4)cmd 使用adb connect 连接adb
C:\Users\As10048>adb connect 192.168.31.15:33395
connected to 192.168.31.15:33395

C:\Users\As10048>adb devices
List of devices attached
192.168.31.15:33395     device

可以看到是可以正常连接adb,显示adb列表的。

2、设置Settings Global属性命令开启adb

//获取当前adb wifi属性值:
settings get global adb_wifi_enabled
settings get global adb_enabled
或者 
settings list global | grep adb //查询adb 相关settings global 属性
adb_enabled=0
adb_wifi_enabled=0

//设置当前adb wifi属性值:
settings put global adb_wifi_enabled 1
settings put global adb_enabled 1

3、设置prop属性和设置Settings Global属性命令开启adb的区别

1、设置prop属性 可以进行有线网和wifi adb,但是设置应用查看adb依然是关闭的状态;

2、设置Settings Global属性,是一定要连接wifi才能开启wifi adb的
因为Java代码打开adb流程里面判断了,wifi连接才使能adb,否则会马上关闭adb

所以只是调试使用并且需要有线网adb的情况,设置prop属性进行adb调试就行。

上面是未进行系统代码适配的情况,进行adb属性相关的设置;

其他adb知识,比如设置固定端口等设置有兴趣的可以往下看看。

三、其他

1、wifi adb 控制小结

主要相关命令:

//Settings 设置wifi adb 使能
settings put global adb_wifi_enabled 1

//获取adb属性,1 表示开启,0表示关闭
settings get global adb_wifi_enabled 

//prop 设置wifi adb 使能
setprop persist.adb.tls_server.enable 1
//查询当前adb prop属性,1表示开启,0 表示关闭
getprop persist.adb.tls_server.enable

//获取wifi adb端口号,
getprop service.adb.tls.port

//查看usb debug 模式
settings get global adb_enabled
//设置usb debug模式命令
settings put global adb_enabled 1

如果是wif连接可以使用settings开启wifi adb,

如果是有线网连接的情况,只能使用prop属性开启 网络adb。

2、Android13 串口控制是能wifi adb实现

之前分析的adb使能介绍,和文本内容类似。

https://blog.csdn.net/wenzhi20102321/article/details/140047528

3、Android 13 wifi adb设置固定端口解决

需要适配修改系统源码。
https://blog.csdn.net/wenzhi20102321/article/details/131056174

4、Android13 网络 Adb 默认开启

设置端口号默认为5555 ,adb 连接时就不用设置端口号;

需要修改系统代码进行适配。
https://blog.csdn.net/wenzhi20102321/article/details/132382549

5、Android 13 网络 Adb相关流程深入分析研究

研究一遍adb具体流程,有兴趣的看看。
https://blog.csdn.net/wenzhi20102321/article/details/132735323

4、如果需求是连接有线网,应用打开wifi adb 可以正常连接adb

看懂上面两三篇文章,应该就会处理的。

需要:

(1)设置固定端口号,adb_wifi.cpp 源码修改
(2)源码 AdbDebuggingManager.java 去除wifi连接判断

后面就可以用settings global 属性控制有线网adb 了

5、adb简介及常用命令总结

https://blog.csdn.net/wenzhi20102321/article/details/113487927

相关推荐
拉不拉了个多1 小时前
Compose UI 中万能的 Modifier
android·kotlin·android jetpack
daily_23333 小时前
c++领域展开第十五幕——STL(String类的模拟实现)超详细!!!!
android·开发语言·c++
m0_7482350712 小时前
【MySQL】数据库开发技术:内外连接与表的索引穿透深度解析
android·mysql·数据库开发
werch14 小时前
兼容移动端ios,安卓,web端底部软键盘弹出,输入框被遮挡问题
android·前端·ios
alexhilton15 小时前
不使用Jetpack Compose的10个理由
android·kotlin·android jetpack
q5673152316 小时前
将 XML 文件转换为字典形式
android·xml·java·开发语言
MuggleStarter17 小时前
一文读懂Jetpack LifeCycle的特性和实现
android·面试
Fastcv17 小时前
DataStore-SharedPreference知识点
android
令狐掌门17 小时前
android::IPCThreadState::self使用介绍
android