关键词:
1.流程
USB插入接收广播授权->建立adb连接服务->执行adb 命令
2.adb相关属性
ro.secure = 0 | 开启root权限 |
ro.adb.secure = 1 | 1开启adb RSA 指纹认证 ,0关闭 |
ro.debuggable = 1 | 1开启adb debug,0关闭 |
3.修改源码位置 build/core/main.mk 部分代码如下图所示
4、/PA1032/frameworks/base/packages/SystemUI/src/com/android/systemui/usb
5其他:需要注意更换电脑 需要将默认.android目录adbkey.pub/adbkey文件 替换到misc目录adb_keys文件即可
6.Android 9与Android 10 异同
6.1 Android 9
/system/core/adb/Android.mk(注意Android 10此目录是Android.bp文件)
- LOCAL_CFLAGS += -DALLOW_ADBD_NO_AUTH=$(if $(filter userdebug eng,$(TARGET_BUILD_VARIANT)),1,0)
+ LOCAL_CFLAGS += -DALLOW_ADBD_NO_AUTH=$(if $(filter user userdebug eng,$(TARGET_BUILD_VARIANT)),1,0)
6.2关闭弹窗提示
源码位置:
frameworks/base/packages/SystemUI/src/com/android/systemui/usb/UsbDebuggingActivity.java
boolean connected = intent.getBooleanExtra(UsbManager.USB_CONNECTED, false);
+ // boolean connected = intent.getBooleanExtra(UsbManager.USB_CONNECTED, false);
+ boolean connected = false;
if (!connected)
mActivity.finish();
+ try
+ IBinder b = ServiceManager.getService(USB_SERVICE);
+ IUsbManager service = IUsbManager.Stub.asInterface(b);
+ service.allowUsbDebugging(true, mKey); //USB授权通过
+ // service.clearUsbDebuggingKeys();
+ catch (Exception e)
+ Log.e(TAG, "Unable to notify Usb service", e);
+
6.3 Android 10 去掉默认授权弹窗代码如下,只需要在接收到USB插入广播之后进行adb ipc跨进程通信即可 如下图所示
6.4 Anoroid 9 源码位置framework/base/core/java/android/hardware/usb/IUsbManager.aidl
6.5 Android 10源码位置framework/base/core/java/android/hardware/usb/IUsbManager.aidl
6.6 执行 source build/envsetup.sh->lunch 25-> make installclean -> make -j32(不了解编译指令查看这里玩转AOSP源码编译_yzm65580952的博客-CSDN博客_aosp编译)烧录软件之后 查看修改 到这里基本结束了。默认打开adb调试 如下图所示
7.总结
虽然这个功能不难但是涉及很多细节
1、adb 基础 root权限 sytem/bin/ 或者 xbin
2、aidl 这里不再赘述有需要自行百度
3、跨进程通信 binder服务(java binder 和 native binder)
4、SystemUI->systeme->usb
5、AOSP 源码 答案一般都是来自源码
AOSP 源码学习网站
1、学习网站
(1) http://aospxref.com/(Android13)
(2)http://aosp.opersys.com/(Android12)
(3)https://android.googlesource.com(需要vpn翻墙)
(4) http://androidxref.com/(目前最新Android 9.0)
2、学习源码阅读工具
(1)SouceInsight(无法编译源码/无法获取最新源码)
(2)Android Studio
(3)VsCode
(4)SublimeText
(5)NodePad++
(6)Xshell
感谢
android user版本默认开启adb调试,不弹出对话框_王不六的博客-CSDN博客_adb调试弹窗
注意:这里只是高通平台 具体其他平台请以实际平台为主例如RK(瑞芯)/AllWinner(全志)/MTK/展讯
转载请注明出处 ,谢谢。高通平台(Qualcomm) Android 10 user版本默认打开adb 调试小结_KdanMin的博客-CSDN博客
高通平台sba升级步骤
...是使用高通提供的如下链接:AMSSStandardOEMhttps://chipcode.qti.qualcomm.com/打开链接如图:点击图中标记处即可下载最新的SBA,但这样下载的文件是包含所有模块等内容的,较大,下载较费时间,所以建议下载差异部分。点击如图中的Co... 查看详情
高通平台抓取ramdump文件(代码片段)
...正常获取设备执行代码中的pythonvendor/xiaomi/securebootsigner/Qualcomm/tools/debugpolicy.py执行脚本完成后,手机会自动重启开启手机的download模式待手 查看详情
2022高通sa8155psdm845平台开源代码下载
2022高通SA8155P、SDM845平台开源代码下载SA8155P开源代码下载:Android10sdm845开源代码下载:Android12SA8155P开源代码下载:Android10官网:https://wiki.codelinaro.org/en/clo/la/releaserepoinit--depth=1-uhttps://git.codelinaro.o 查看详情
高通平台android系统编译指令大全
其他平台以及根据自己产品lunch里面进行自定义添加选项即可,此文仅供参考,如有雷同,纯属巧合转载请注明出处谢谢 Android系统编译指令大全_KdanMin的博客-CSDN博客 查看详情
android:高通平台camera调试(代码片段)
相关平台信息:【SDM845/670】1.AF调试部分(1)通过属性控制:--AFLog控制--setproppersist.vendor.camera.logInfoMask0x8000000//AFinfolevellogsetproppersist.vendor.camera.logVerboseMask0x8000000//AFverboselevellog--禁用深度焦点指示--setp 查看详情
高通平台开发系列讲解(充电篇)android系统充电代码结构
文章目录一、整体代码组成二、BatteryService三、Healthd四、power_supply沉淀、分享、成长,让自己和他人都能有所收获! 查看详情
不懂,为啥都说高通820的kryo架构是自研架构
...,没有太大区别 参考技术B作为智能手机芯片的领军者,Qualcomm此前的32位骁龙芯片大都采用自主微架构。最初的MSM8250开始使用Scorpion微架构;而在过去的三年中,Qualcomm则一直在使用Krait架构,这个架构是基于ARM架构上的二次开... 查看详情
高通平台开发系列讲解(android篇)audiotrack音频流数据传输
文章目录一、音频流数据传输通道创建1.1、流程描述1.2、流程图解二、音频数据传输2.1、流程描述2.2、流程图解沉淀、分享、成长,让自己和他人都能有所收获! 查看详情
高通平台pinctrl的使用总结
平台内核版本安卓版本msm8953Linux3.18Android7.1文章目录一、pinctrl的作用二、pinctrl的相关概念三、driver调用pincontrolsubsystem3.1、pinmux_enable_setting3.2、pinconf_apply_setting四、pinctrl的默认state一、pinctrl的作用 查看详情
高通平台红外检测驱动程序实现
平台内核版本安卓版本msm8953Linux3.18Android7.1文章目录一、查看原理图二、软件实现2.1、创建设备结构体2.2、创建class2.3、probe中进行初始化2.4、value_show的实现2.5、中断处理一、查看原理图 查看详情
高通刷机教程
...,通过镜像刷写分区来刷机,下载地址https://createpoint.qti.qualcomm.com/to2、下载刷机包,解压3、打开QFIL应用程序,根据项目配置信息选择内存类型为e 查看详情
听说高通平台处理器有先天的音频采样率缺陷,是啥
...通的Codec设计遵循了AC97规范,硬件强制48kHz输出,再由于Android系统采样率从锁定,当时包括高通、NVIDIA、三星等主流移动处理器芯片组在内的几乎所有的Android手机在48kHz采样率音频播放时都会得到一致的测试结果。在谷歌官方固... 查看详情
android4.4高通平台中的应用路径及应用裁剪方法(代码片段)
去掉Android中应用的方法:1.build\\target\\project修改它下面的.mk文件如:core.mk,core_minimal.mk,full_base.mk,full_base_telephony.mk,generic_no_telephony.mklarge_emu_wh.mk,mini.mk,sdk.mk,telephony.mk等 查看详情
高通平台android怎么过去开机时间
参考技术A(1)Android是基于Linux内核的系统,因此Android的启动过程是分为两个阶段的:第一个阶段就是Linux内核的启动第二个阶段就是Android框架的启动(包括核心服务和程序)。(2)Android的log系统是独立于Linux内核的log系统的... 查看详情
高通平台usb网卡调试(代码片段)
内核版本安卓版本Linux4.9Android9文章目录USB网卡识别USB网卡识别USB网卡需要模组的USB工作在主机模式下才可以识别网卡,通过执行echo8>/proc/sys/kernel/printk后插入USB网卡时,就可以从kernellog中看到USB网卡的枚举信息。接上USB网卡后... 查看详情
高通平台emac驱动设备树分析(代码片段)
内核版本安卓版本Linux4.9Android9文章目录一、中断管脚二、RGMII_PWR_EN管脚三、reset管脚一、中断管脚文件:kernel/msm-4.9/arch/arm/boot/dts/qcom/sdxpoorwills.dtsi中断名称为phy_intr经过以下流程将设备树中的phy-intr映射到内存中: 查看详情
高通平台常用缩写
高通的MSM是mobilestationmodems.移动基带处理器.带基带的手机处理器. QRD就是高通参考设计(QualcommReferenceDesign)PBL:APPSPBL(ApplicationPrimaryBootLoader),主引导加载程序RPM:ResourcePowerManager,资源电源管理器RPM(ResourcePowerManager)是高通MS... 查看详情
高通平台开发系列讲解(gps篇)nmea数据包解析
文章目录一、通用NMEA语句类型二、NMEA语句格式2.1、GSV语句2.2、RMC语句2.3、GSA语句2.4、VTG语句2.5、DTM语句2.6、GNS语句2.7、GGA语句2.8、GLL语句2.9、GST语句2.10、ZDA语句沉淀、分享、成长,让自己和他人都能有所收获! 查看详情