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

Android 13 设置自动进入wifi adb模式

Android 13 设置自动进入wifi adb模式

文章目录

  • Android 13 设置自动进入wifi adb模式
    • 一、前言:
    • 二、解决Android 13 wifi adb每次重启自动重置问题方法
      • 1、分析系统中每次重置wifi adb属性的代码
      • 2、在开机广播里面进行设置wifi adb 相关属性
        • (1)定义开机广播
        • (2)开机广播监听中进行设置adb 属性:
      • 3、值得注意

一、前言:

Android11之前 wifi adb 端口默认是 5555,adb connect ip即可完成adb 连接
Android13 上,wifi adb 端口默认是 随机的6位数,每次wifi adb 连接需要打开开发者模式里面的"无线调试",
并且最麻烦的是每次连接新的wifi,都需要重新打开开发者模式里面的"无线调试",会生成新的端口号,需要输入端口号才能进行adb 连接。

Android 13 wifi adb设置固定端口解决:
https://blog.csdn.net/wenzhi20102321/article/details/131056174

二、解决Android 13 wifi adb每次重启自动重置问题方法

上面说到Android13 开启wifi adb后,每次重启后都会自动关闭,那么如何解决这个问题呢?

提供下面两种思路。

1、分析系统中每次重置wifi adb属性的代码

大致要分析的代码:

packages\modules\adb\daemon\adb_wifi.cpp
framework\base\services\core\java\com\android\server\adb\AdbService.java

还有里面涉及到的相关类,这里不做具体分析。有兴趣的可以自己进一步进行分析。

2、在开机广播里面进行设置wifi adb 相关属性

无论是监听开机广播还是设置prop属性,都是要系统权限的!

(1)定义开机广播

src\main\AndroidManifest.xml

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /><receiver android:name=".BootReceiver"><intent-filter><action android:name="android.intent.action.BOOT_COMPLETED" /></intent-filter></receiver>

(2)开机广播监听中进行设置adb 属性:


import android.os.SystemProperties;public class BootReceiver extends BroadcastReceiver {private static final String ACTION_ANDROID_BOOT_COMPLETED = "android.intent.action.BOOT_COMPLETED";public static final String ADB_ENABLE_PROP = "persist.adb.tls_server.enable";public static final String ADB_PORT_PROP = "service.adb.tls.port";@Overridepublic void onReceive(final Context context, Intent intent) {LogUtil.debugInform("action=" + intent.getAction());switch (intent.getAction()) {case ACTION_ANDROID_BOOT_COMPLETED: //开机广播//设置wifi adb 属性SystemProperties.set(ADB_ENABLE_PROP, "1");SystemProperties.set(ADB_PORT_PROP, "5555");Toast.makeText(context, "已设置wifi adb开启", Toast.LENGTH_LONG).show();break;default:LogUtil.error("no user receiver!");}}

3、值得注意

不要再SystemServer 系统服务启动的时候,进行设置adb wifi相关属性,会不生效的。
因为后面 AdbService 启动的时候会重新设置一次,所以在开机广播里面做设置时比较保险的。

wifi adb demo代码(需要自己配置对应平台的签名文件)
https://download.csdn.net/download/wenzhi20102321/88056639

http://www.lryc.cn/news/95166.html

相关文章:

  • (笔记)插入排序
  • 结构型模式 - 组合模式
  • EDM营销过时了?不,这才是跨境电商成功的最佳工具
  • 【大数据之Hive】二十五、HQL语法优化之小文件合并
  • spring 连接oracle数据库报错{dataSource-1} init error解决,电脑用户名问题
  • 行业视野::人工智能与机器人
  • 【Python入门系列】第十七篇:Python大数据处理和分析
  • spring.profiles的使用详解
  • Docker使用总结
  • MySQL 数据库的备份与还原案例分享 2023.07.12
  • verilog实现数码管静态显示
  • MySQL-DML-添加数据insert
  • Prometheus、Grafana使用
  • UG\NX二次开发 使用throw重新抛出异常
  • 为什么单片机可以直接烧录程序的原因是什么?
  • 使用 uiautomator2+pytest+allure 进行 Android 的 UI 自动化测试
  • Android APP性能及专项测试
  • 人工智能自然语言处理:N-gram和TF-IDF模型详解
  • linux内核调试工具记录
  • XSS 攻击的检测和修复方法
  • Spring后置处理器BeanFactoryPostProcessor与BeanPostProcessor源码解析
  • NXP i.MX 6ULL工业开发板硬件说明书( ARM Cortex-A7,主频792MHz)
  • Ubuntu 放弃了战斗向微软投降
  • 高并发的哲学原理(六)-- 拆分网络单点(下):SDN 如何替代百万人民币的负载均衡硬件
  • 用OpenCV进行图像分割--进阶篇
  • Spring框架概述及核心设计思想
  • Unity自定义后处理——Vignette暗角
  • Java读取Excel 单元格包含换行问题
  • Django实现接口自动化平台(十)自定义action names【持续更新中】
  • [爬虫]解决机票网站文本混淆问题-实战讲解