当前位置: 首页 > article >正文

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

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

一、前言

文章目录

  • Android14 串口控制是能wifi adb实现简介
    • 一、前言
    • 二、Android14 串口控制是能wifi adb实现
      • 1、设置prop属性命令开启adb
        • (1)相关prop属性设置
        • (2)在设置界面或者 ifconfig命令 查看wifi或者有线的ip地址:
        • (3)串口确认查看关键 adb 属性是否ok
        • (4)cmd 使用adb connect 连接adb
      • 2、设置Settings Global属性命令开启adb
      • 3、设置prop属性和设置Settings Global属性命令开启adb的区别
    • 三、其他
      • 1、wifi adb 控制小结
      • 2、Android13 串口控制是能wifi adb实现
      • 3、Android 13 wifi adb设置固定端口解决
      • 4、Android13 网络 Adb 默认开启
      • 5、Android 13 网络 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


http://www.kler.cn/a/572146.html

相关文章:

  • 高频 SQL 50 题(基础版)_550. 游戏玩法分析 IV
  • 详解 scanf 和 printf(占位符、printf、scanf的返回值、printf的输出格式、scanf的输入格式)
  • 费曼学习法13 - 数据表格的魔法:Python Pandas DataFrame 详解 (Pandas 基础篇)
  • Iceberg Catalog
  • iOS安全和逆向系列教程 第3篇:搭建iOS逆向开发环境 (上) - 工具链与基础配置
  • 软件测试人员在工作中如何运用Linux?
  • 机器视觉线阵相机分时频闪选型/机器视觉线阵相机分时频闪选型
  • Vue 3 组件库文档化最佳实践:Storybook 自动化文档生成 - 打造专业级组件文档
  • 免费轻巧多功能 PDF 处理工具:转换、压缩、提取一应俱全
  • JDBC连接数据库(MySQL)教程(包含可能出错的问题)
  • 迷你世界脚本生物接口:Creature
  • 13天 -- Redis 中如何实现分布式锁? Redis 的 Red Lock 是什么?你了解吗? Redis 实现分布式锁时可能遇到的问题有哪些?
  • c语言(循环(for,while,do while))
  • docker compose 搭建 redis 主从复制集
  • 61. Three.js案例-彩色旋转立方体创建与材质应用
  • 解锁数据抓取新高度:Python 分布式爬虫与逆向进阶实战课
  • 同一数据库下两张表数据迁移
  • 获取哔站评论
  • 计算机网络常见疑问
  • 【智慧零售技术实战】云里物里ESL方案解析:四色电子纸+批量刷新功能如何高效能改造传统卖场?