高通平台(Qualcomm) Android 10 user版本默认打开adb 调试小结

Posted KdanMin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高通平台(Qualcomm) Android 10 user版本默认打开adb 调试小结相关的知识,希望对你有一定的参考价值。

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博客

以上是关于高通平台(Qualcomm) Android 10 user版本默认打开adb 调试小结的主要内容,如果未能解决你的问题,请参考以下文章

qualcomm batch 烧录脚本

高通平台 SBA升级步骤

高通Cam-X平台 Camera移植

高通(Qualcomm)并购创锐讯(Atheros Communications)的背后

高通平台抓取ramdump文件

高通常见nv