默认打开USB调试功能

如何默认打开user 版本的USB debug 选项, 默认打开adb 连接
 
user usb debug root adb 连接
 
【方法】
1. 在android 4.0 之前,这个设置是在frameworks/base/service/..../SystemServer.java 里面设置会根据system property 的persist.service.adb.enable 来设置。您可以看到类似如代码:
        // make sure the ADB_ENABLED setting value matches the secure property value
        Settings.Secure.putInt(mContentResolver, Settings.Secure.ADB_ENABLED,
                "1".equals(SystemProperties.get("persist.service.adb.enable")) ? 1 : 0);
        // register observer to listen for settings changes
        mContentResolver.registerContentObserver(Settings.Secure.getUriFor(Settings.Secure.ADB_ENABLED),
                false, new AdbSettingsObserver());
    
 而这个persist.service.adb.enable 默认是放在在default.prop 中,在编译的时候在build/core/main.mk 中确认, 
 ifeq (true,$(strip $(enable_target_debugging)))
   # Target is more debuggable and adbd is on by default
   ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=1 persist.service.adb.enable=1
   # Include the debugging/testing OTA keys in this build.
   INCLUDE_TEST_OTA_KEYS := true
 else # !enable_target_debugging
   # Target is less debuggable and adbd is off by default
   ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=0 persist.service.adb.enable=0 
 endif # !enable_target_debugging
 您需要将: ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=0 persist.service.adb.enable=0  改成
 ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=1 persist.service.adb.enable=1 
    
2. 在android 4.0 之后,因为adb 的控制,统一使用了persist.sys.usb.config 来控制,于是对应的设置点也改到了frameworks/base/service/...../usb/UsbDeviceManager.java 中,您也可以看到类似的代码如:
public  UsbHandler(Looper looper) {
        // persist.sys.usb.config should never be unset.  But if it is, set it to "adb"
        // so we have a chance of debugging what happened.
         mDefaultFunctions = SystemProperties.get("persist.sys.usb.config", "adb");
        // sanity check the sys.usb.config system property
        // this may be necessary if we crashed while switching USB configurations
        String config = SystemProperties.get("sys.usb.config", "none");
        if (!config.equals(mDefaultFunctions)) {
            Slog.w(TAG, "resetting config to persistent property: " + mDefaultFunctions);
            SystemProperties.set("sys.usb.config", mDefaultFunctions);
        }
        mCurrentFunctions = mDefaultFunctions;
        String state = FileUtils.readTextFile(new File(STATE_PATH), 0, null).trim();
        updateState(state);
        mAdbEnabled = containsFunction(mCurrentFunctions, UsbManager.USB_FUNCTION_ADB);
public void  systemReady() {
 // make sure the ADB_ENABLED setting value matches the current state
    Settings.Secure.putInt(mContentResolver, Settings.Secure.ADB_ENABLED, mAdbEnabled ? 1 : 0);
 
而这个persist.sys.usb.config 中adb 的配置是在msm8x12/build/tools/post_process_props.py 中根据ro.debuggable = 1 or 0 来设置,1 就是开启adb, 0 即关闭adb debug. 而这个ro.debuggable 也是在msm8x12/build/core/main.mk 中设置,和2.3 修改类似
在我们的高通msm8x12的android4.3版本里,直接修改device/qcom/msm8610/system.prop,在persist.sys.usb.config属性中增加adb就行了,其它统一在这个属性里的值还有diag,serial_smd,serial_tty,rmnet_bam,mass_storage
不过您这样打开之后,对于user 版本adb shell 开启的还是shell 权限,而不是root 权限,如果您需要root 权限,需要再改一下system/core/adb/adb.c 里面的should_drop_privileges() 这个函数,在#ifndef ALLOW_ADBD_ROOT 时return 0; 而不是return 1; 即可。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
声明:该设计资料来源于立创社区,仅供网友学习参考,不可用于商业用途。 基于STM32 的 USB温湿度计概述: 该USB温湿度计基于STM32F070F6P6 设计完成。STM32F070F6P6 是ST公司新出品不久的一款 ARM Cortex-M0芯片,内置 32 Kbytes Flash,6K SRAM,12Bit ADC,运行主频48MHZ,支持USB 2.0 SLAVE通信接口,更重要的是它是TSSOP20封装的! 曾经在立创商城上,有个SHT30温湿度计的方案验证板,但该设计有个麻烦的地方,那就是需要另外接串口装置才能观察到MCU测量得到的SHT30温湿度数据。为此本人,决定用带这款支持USB通讯功能的STM32F0x0超值系列ARM芯片--- STM32F070F6P6,结合温湿度传感器AM2320,制作一款USB温湿度计。 它使用很简单:直接插入PC机的USB端口,然后打开串口助手之类的软件,即可观察到现场的温湿度数据。通过这个制作,大家可以学习一下AM2320的I2C和单总线的驱动方法,还有如何使用ST的Cube MX软件来实现一个USB转串口(USB TO CDC)的通信设备。 系统构架图: 系统解说:本系统有二大部分组成,分别是:支持USB通信的ARM Cortex-M0主控芯片 STM32F070F6P6和AM2320数字式温湿度传感器。 视频演示: 作品亮点 ① 无需额外仪器装置,直插到PC后运行串口助手软件即可观察到实时的温湿度数据。 ② 采用引脚紧凑、低成本、同时支持USB通信的Cortex-M0 AMR STM32F070作为主控。 ③ 使用出厂时己校准数字信号输出的AM2320作为传感器单元。插件,极易好焊接! ④ 温度分辨率是: ±0.1度,精度±0.5度;湿度分辨率: ±0.1%RH,精度:±3%RH ⑤ 提供2种演示范例,支持单总线和标准I2C 两种通信方式来驱动AM2320传感器。 ⑥ 板上STM32F070的全部I/O都被引出,可当作一个低廉的最小系统板、开发板使用。 ⑦ 本方案验证板采用USB BUS总线供电,无需额外再提供电源。 原理图分为多个部分,逐个详见分析讲解,详见“相关文件”进行下载 USB温湿度计实物展示: 软件部分的描述 限于篇幅,这里不太方便展示全部代码,比如USB通信实现和单总线、I2C总线驱动温湿度传感器AM2320等等。需要指出的是,USB通信部分,本人直接采用了ST官方出品的STM32CubeMX软件,该软件是一个基于GUI界面配置软件,通过鼠标操作芯片的配置和功能,最终该软件即可自动产生初始化代码和一个应用程序框架范例。本电子制作就是使用这个默认生成的USB转串口(USB CDC协议)应用程序,然后添加相关的温湿度采集驱动完成的。 调试过程和应用实例 按前面提供的BOM清单,正常焊接完毕后,接着把HEX烧录到ARM STM32F070F6P6芯片,即可完成准备工作。随后,将USB电缆把该PCBA电路模块和电脑链接起来(如果Windows 系统提示需要安装驱动程序,那按默认位置按照即可)。最后,打开串口助手之类的软件,即可观察到现场的温度和湿度数据。 总结 STM32F070F6P6 是一个内置USB功能、性价比很高的芯片,结合AM2320实现了比之前SHT30方案验证板更好的应用体验。该PCB板设计时,把STM32F070F6P6的全部I/O都引出了,因此,该板可当作一个低廉的最小系统板、开发板使用。如果想学习ARM Cortex-M0 芯片的应用,特别是USB总线通信的实现过程,那本文介绍的这个电子制作作品和PCB空板,是一个不错的入门选择! 基于STM32F070和AM2320的USB温湿度计实验板购买链接:https://www.szlcsc.com/product/details_97773.html
单片机多功能调试助手分两个版本,分别是:含CH375 DLL版本、无DLL版本,它们的区别主要体现在是否对CH37X USB提供支持。为了减少对服务器的负担,现在单片机多功能调试助手只提供无DLL的版本,即不对CH372/CH375 USB芯片提供支持,只支持HID USB设备!含有DLL版本的暂只提供给购买开发板的买家! 在此感谢网络上众多的朋友的反馈与建议,没有他们的支持就没有该软件的茁壮成长!本人会继续努力进行更新,为大家提供一个功能完善与稳定的调试工具,为大家节省不必要的时间。 本软件的使用手册可到www.smartmcu.com进行下载! 作者: 温子祺 联系方式:[email protected][email protected] 博客: http://www.cnblogs.com/wenziqi 淘宝: http://shop61791934.taobao.com/ 官网: www.smartmcu.com 注:软件版权归作者所有,未经作者允许,禁止用于商业用途,违者必究! ===================================================== 2015-12-12 (1)内嵌了蓝牙调试助手功能。 ===================================================== 2015-12-8 (1)在Win7以上系统执行更稳定,默认支持管理员运行。 ===================================================== 2013-07-23 (1)增强稳定性 ===================================================== 2012-05-21 (1)优化了Ping和TCP连接过程 (2)开放了检验源码 ===================================================== 2012-02-06 (1)发送区域支持保存发送数据256字节 ===================================================== 2011-10-17 (1)帧换行功能可调 ===================================================== 2011-07-10 (1)串口、USB、网咯接收数据时能够自动对\n和\r\n进行识别 注意:Windows默认对'\r\n'进行换行的 Linux 默认对‘\n’进行换行的 ===================================================== 2011-07-26 (1)修正了PING会出现大延时的问题 (2)修正了网络调试发送计数错误的BUG ===================================================== 2011-07-24 (1)数据校验修正和添加了部分功能 (2)服务器支持多项发送 ===================================================== 2011-07-10 (1)串口、USB、网络接收数据时能够自动对\n和\r\n进行识别 注意:Windows默认对'\r\n'进行换行的 Linux 默认对‘\n’进行换行的 ===================================================== 2011-05-05 (1)串口调试添加Modem模式 ===================================================== 2011-04-25 (1)修正Ping过慢的BUG ===================================================== 2011-04-20 (1)在接收区添加了右键菜单(清空、显示控制、文本输出控制) ===================================================== 2011-04-13 (1)修正串口调试隐藏BUG (2)提升了界面启动的速度 ===================================================== 2011-04-07 (1)发送数据支持回车换行 (2)修正了C51代码向导的BUG ===================================================== 2011-03-31 (1)修改了清空发送和清空接收的BUG ===================================================== 2011-03-24 (1)修改了下载功能 (2)修正了HexToText 和 HexToBin ===================================================== 2011-03-03 (1)在C51代码向导当中增加了计算软件延时的功能 (2)修正了通信端口监视不正常的BUG (3)解决了回车键会退出界面的BUG ===================================================== 2011-02-28 (1)在串口、USB、网络接收数据的过程中,能够正确显示当前接收数据的速度 (2)在C51代码向导当中增加了输出为Keil工程的功能,方便编译 ===================================================== 2011-02-25 (1)增加了双击文本框可以保存数据记录的功能 (2)增加了Hex/Bin文件输出文本的功能 ===================================================== 2011-02-20 (1)修正了在连续发送的逻辑BUG (2)修正了串口监视关闭时发生内存错误的BUG ===================================================== 2011-02-13 (1)修正了在无USB HID设备的情况下还能够打开USB设备的BUG ===================================================== 2011-02-11 (1)修正了界面风格,防止在不同的系统显示不一致! ===================================================== 2011-02-07 (1)修复了部分BUG,如串口高级监视、代码生成等。 (2)编码转换增强、调试工具增强(支持帧换行,方便分析数据)! (3)USB支持自动寻找设备! ===================================================== 2011-01-31 (1)添加了串口高级监视功能,能够监视其他应用程序的串口通信。 (2)添加了8051单片机代码生成功能。(懒人的必备O(∩_∩)O哈哈~) ===================================================== 2011-01-15 (1)修正了发送大量数据出错的BUG ===================================================== 2011-01-13 (1)修正了串口、USB、网络监视的BUG ===================================================== 2011-01-08 (1)新增加COM、USB、NET多项发送功能,更加利于调试! ===================================================== 2011-01-02 (1)调整了界面,让其显示更加多的数据! ===================================================== 2010-12-28 (1)修正Hex接收会出错的BUG ===================================================== 2010-12-21 (1)完美支持中文字数据收发 ===================================================== 2010-12-14 (1)修正COM、USB、NET、SERVER接收数据时会出现乱码的BUG (2)优化了线程接收数据的策略 ===================================================== 2010-12-10 (1)支持USB、网络接口监视 (2)优化了自动升级策略 (3)增强了位图输出16进制数功能(支持单色图、16位图、24位图) (4)具有自动保存参数功能 ===================================================== 2010-12-02 (1)修正了串口检测、接收策略, (2)添加了串口监视功能 (3)添加了BCC校验 (4)增强字模制作功能(支持特殊字符、英文、汉字等) ===================================================== 2010-11-29 (1)添加了记录发送、接收字节数的统计功能 (2)添加了自动检测新版本的功能 ===================================================== 2010-11-25 (1)添加了连续发送的功能 (2)添加了在线下载新版本的功能 (3)完善服务器功能 (4)完善了字模输出(摆脱外接字符文件) (5)完善了位图转16进制文件功能,可保存为C文件 ===================================================== 2010-11-02 (1)添加了服务器功能,网络调试更方便! (2)界面更加宽阔,显示更多的信息! ===================================================== 2010-09-26 (1)修正了单片机功能助手运行时间长导致的假死问题。(多谢网友提供宝贵的意见) ===================================================== 2010-09-01 (1)修正了串口类,提升接收数据的效率。 ===================================================== 2010-08-03 (1)在检验值计算支持TCP/IP校验和计算 (2)在NET调试新增加了Ping功能 ===================================================== 2010-07-28 (1)修正CRC计算错误 ===================================================== 2010-07-15 (1)修正打开关闭串口,接收数据文本框数据丢失 (2)串口对话框更为简洁

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值