Android默认打开USB adb调试

/*******************************************************************
* I.MX6 默认打开 USB adb
* 声明:
* 在调试android的时候,尤其是前期,可能我们没有Touch,这样使用adb显得
* 力不从心,因为它会弹个对话框来,可你有按不了,于是默认打开adb就成了需求。
*
******************************************************************/

一、参考文章:
飞思卡尔 imx6 android 调试环境搭建
http://www.wjxfpf.com/2015/10/590190.html
Android 4.2.2 开机默认开启USB调试
http://blog.youkuaiyun.com/zhujm320/article/details/37914487
默认打开USB调试功能
http://blog.youkuaiyun.com/pfgmylove/article/details/16985159

二、解决方案:
1. cat frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.java

        ......
        public void systemReady() {
            if (DEBUG) Slog.d(TAG, "systemReady");
            mNotificationManager = (NotificationManager)
                mContext.getSystemService(Context.NOTIFICATION_SERVICE);

            // We do not show the USB notification if the primary volume supports mass storage.
            // The legacy mass storage UI will be used instead.
            boolean massStorageSupported = false;
            final StorageManager storageManager = StorageManager.from(mContext);
            final StorageVolume primary = storageManager.getPrimaryVolume();
            massStorageSupported = primary != null && primary.allowMassStorage();
            mUseUsbNotification = !massStorageSupported;


            // make sure the ADB_ENABLED setting value matches the current state
            //Settings.Global.putInt(mContentResolver, Settings.Global.ADB_ENABLED, mAdbEnabled ? 1 : 0);
            Settings.Global.putInt(mContentResolver, Settings.Global.ADB_ENABLED, 1); 
            mHandler.sendEmptyMessage(MSG_SYSTEM_READY);
        }
        ......

2.cat /init.rc

        ......
        #  Enable adb security for JB4.2.2
            setprop ro.adb.secure 0
        ......
在 RK3568 设备上基于 Android 11 系统默认开启 USB 调试模式,可以通过修改系统配置文件或代码实现。以下是几种可行的方法: ### 1. 通过修改系统设置数据库实现默认开启 USB 调试模式 Android 系统中 USB 调试模式的设置信息存储在 `settings` 数据库中。可以通过修改该数据库的默认值来实现开机默认开启 USB 调试模式。 - 在系统源码中找到 `frameworks/base/packages/SettingsProvider/res/values/defaults.xml` 文件。 - 修改如下字段: ```xml <integer name="def_adb_enabled">1</integer> ``` 其中 `1` 表示默认开启 USB 调试模式,`0` 表示关闭。 - 编译并烧录系统镜像后,设备将默认开启 USB 调试模式[^3]。 ### 2. 通过修改设备树配置文件实现 USB 默认为 Host 模式(如需) 虽然设备树配置主要影响 USB 的物理模式(Host 或 OTG),但确保设备工作在正确模式下是 USB 调试正常工作的前提。 - 修改 `rk3568-evb.dtsi` 文件中的 `dr_mode` 配置: ```dts &usbdrd_dwc3 { dr_mode = "host"; /* 修改为 host 模式 */ extcon = <&usb2phy0>; status = "okay"; }; ``` 此配置确保设备能够正确识别连接的 USB 设备,包括调试用的 ADB 连接[^1]。 ### 3. 在系统启动脚本中添加 ADB 启动命令 可以在系统启动脚本中加入启动 ADB 的命令,确保每次启动后 ADB 自动启用。 - 找到系统启动脚本,如 `init.rc` 或 `init.<device>.rc`。 - 添加如下命令: ```rc service adbd /sbin/adbd --root_seclabel=su class core user root group root oneshot ``` 此配置确保系统启动后自动运行 ADB 服务,从而保持 USB 调试模式开启状态。 ### 4. 使用 ADB 工具手动开启调试模式(临时测试) 如果仅用于临时测试,可以直接使用 ADB 工具连接设备并手动开启调试模式: - 连接设备并运行以下命令: ```bash adb root adb enable-verity adb remount ``` - 然后重启设备: ```bash adb reboot ``` 此方法适用于调试阶段,但不会在重启后自动保持调试模式开启。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值