在AndroidR user版本的设备上,如何默认打开USB调试,如何去掉USB调试确认弹窗

适用场景:例如自动化测试等场景,需要在开机后可以直接使用USB调试,无需手动打开。

修改方案:

修改1为默认打开usb调试,修改2为默认不弹框

修改1: build/core/main.mk

java 复制代码
diff --git a/core/main.mk b/core/main.mk
index 6b34939..dbae91f 100755
--- a/core/main.mk
+++ b/core/main.mk
@@ -270,7 +270,8 @@
   # Target is secure in user builds.
   ADDITIONAL_DEFAULT_PROPERTIES += ro.secure=1
   ADDITIONAL_DEFAULT_PROPERTIES += security.perf_harden=1
+  ADDITIONAL_DEFAULT_PROPERTIES += persist.sys.usb.config=adb
   ifeq ($(user_variant),user)
     ADDITIONAL_DEFAULT_PROPERTIES += ro.adb.secure=1
   endif

修改2:/frameworks/base/services/core/java/com/android/server/adb/AdbDebuggingManager.java

java 复制代码
diff --git a/services/core/java/com/android/server/adb/AdbDebuggingManager.java b/services/core/java/com/android/server/adb/AdbDebuggingManager.java
index ed83a64..ae0d979 100644
--- a/services/core/java/com/android/server/adb/AdbDebuggingManager.java
+++ b/services/core/java/com/android/server/adb/AdbDebuggingManager.java
@@ -905,7 +905,8 @@
                     }
                     logAdbConnectionChanged(key, AdbProtoEnums.AWAITING_USER_APPROVAL, false);
                     mFingerprints = fingerprints;
-                    startConfirmationForKey(key, mFingerprints);
+                    //startConfirmationForKey(key, mFingerprints);
+                    allowDebugging(true,key);
                     break;
                 }

风险评估:默认打开USB调试可能存在系统安全风险,使用前需要根据具体场景做风险评估。

相关推荐
北漂Zachary3 小时前
四大编程语言终极对比
android·java·php·laravel
学习使我健康7 小时前
Android App 启动原理
android·android studio
TechMix8 小时前
【性能工具】atrace、systrace、perfetto抓取的trace文件有何不同?
android·性能优化
张小潇8 小时前
AOSP15 WMS/AMS系统开发 - 窗口层级源码分析
android·前端
努力努力再努力wz11 小时前
【MySQL入门系列】掌握表数据的 CRUD:DML 核心语法与执行逻辑解析
android·开发语言·数据结构·数据库·c++·b树·mysql
zh_xuan13 小时前
Android gradle任务
android·gradle构建
Grackers14 小时前
Android Perfetto 系列 10:Binder 调度与锁竞争
android·binder
李白你好14 小时前
Android 自动化渗透测试指令生成
android·自动化
CeshirenTester15 小时前
Claude Code 不只是会写代码:这 10 个 Skills,才是效率分水岭
android·开发语言·kotlin
朝星16 小时前
Android开发[2]:Flow
android·kotlin