Android user版通过adb_enable开启adb 调试 不提示对话框的流程分析

需求解读

由于定制rom给用户具体需求如下:

  • 入工厂测试app自动打开adb调试模式,退出就关闭,防止客户的用户安装其它应用(直接通过改变Settings.Global.ADB_ENABLED字段)
  • 打开usbdebug不提示弹出框
  • 禁止调试图标出现在通知状态栏

过程分析

通过字段关闭和开启usb调试模式

通过开启开发者模式最终发现开启或者关闭是改变如下字段:

Settings.Global.putInt(getContentResolver(),Settings.Global.ADB_ENABLED, 0);

打开USBdebug不弹框流程

当adb_enable为0时会关闭adb调试模式,为1是会有弹框提示点击确认时会默认打开usb调试模式;通过代码查找发现在frameworks\base\services\usb\java\com\android\server\usb\UsbDeviceManager.java中监听

发送消息handler消息

获取消息,进入如下方法

调取mDebuggingManager.setAdbEnabled(mAdbEnabled);目前就以ENABLED为例

收到消息创建线程:

监听

发送handler消息,得到相应的key

进一步调取

启动对应的activity,标记为对应的activity报名和类名

修改frameworks\base\packages\SystemUI\src\com\android\systemui\usb\UsbDebuggingActivity.java
屏蔽授权弹框

禁止通知状态栏usb显示

/device/rockchip/xxxx/system.prop 添加 字段persist.adb.notify=0
实现完成

总结

到此这篇关于Android user版通过adb_enable开启adb 调试 不提示对话框的文章就介绍到这了,更多相关android 开启adb 调试内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • adb wireless进行Android手机调试详解

    今天电脑usb接口出问题了,就想着可不可以通过wifi连上手机,然后进行eclipse调试,看logcat等等. 网上搜了一下,果然有这种解决方案. 现在分享给各位android小伙伴. 前提:需要你的windows电脑已经安装了android sdk. 步骤: 1.关键的东东是需要在你的android手机上安装一个神奇的软件:Adb Wireless 2.在你的手机上安装成功后,图标如图: 3.进入该app,界面如下,点击中间那个很大的按钮,下方会出现连接信息: 4.你需要确保adbWirel

  • android开发教程之ubuntu使用adb连接小米2的步骤和adb调试方法

    步骤:分两步 一.usb连接: 在Ubuntu挂载使用MTP设备步骤如下: 1.将MTP设备连接至PC机 2.如果是第一次使用MTP设备需要安装以下软件,否则可以跳过此步骤: 复制代码 代码如下: $ sudo apt-get install mtpfs libfuse-dev libmad0-dev 3.挂载MTP设备 复制代码 代码如下: $ sudo mtpfs -o allow_other /media/mtp 如果提示设备忙,可以等一会再挂载. 二.adb调试: 复制代码 代码如下:

  • Android开启ADB网络调试方法

    开启ADB网络调试 # setprop service.adb.tcp.port 5555 # stop adbd # start adbd 连接: $ adb connect 192.168.0.100 以上这篇Android开启ADB网络调试方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • android调试工具adb命令大全

    一.adb介绍SDK的Tools文件夹下包含着Android模拟器操作的重要命令adb,adb的全称为(Android Debug Bridge就是调试桥的作用.通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序.借助这个工具,我们可以管理设备或手机模拟器的状态.还可以进行以下的操作: 1.快速更新设备或手机模拟器中的代码,如应用或Android 系统升级: 2.在设备上运行shell命令: 3.管理设备或手机模拟器上的预定端口: 4.在设备或手机模拟器上复制或粘贴文件

  • Android Studio ADB网络调试汇总

    本文为大家汇总了Android Studio ADB网络调试的使用方法,供大家参考,具体内容如下 随着技术的发展,现在的安卓手机大部分开始使用type-c接口了,这对于我们安卓程序猿来说也不是件好事情哈,如果要在不同版本手机做测试,每次调试程序的时候是不是要换数据线呢,当然二合一的数据线接口用起来也麻烦.今天就想着研究下网络调试应用程序,用起来很棒,给大家分享一下吧^_^ 首先请确保你的设备和电脑处于同一局域网络! 下面开始介绍两种连接方法. 1.使用AS命令控制台adb命令手动调试 USB连接

  • 关于ADB的Android Debug Bridge(安卓调试桥)那些事

    1. ADB的功能作用: ADB是Android Debug Bridge(安卓调试桥)的缩写,用于通过电脑代码脚本(或者电脑程序等)控制手机进行操作. 2. ADB的安装与否: 判断ADB是否安装成功(此处安装成功包括已经配置了"环境变量"),只需按 win+R ,输入 cmd 回车,在弹出的命令窗口中输入 adb version 命令并回车.如果ADB安装成功,则会打印版本信息. 3. 判断其它环境问题: 因各种原因(包括数据线其实是根充电线,USB接口有积灰导致接触不良等等)会造

  • Android user版通过adb_enable开启adb 调试 不提示对话框的流程分析

    需求解读 由于定制rom给用户具体需求如下: 入工厂测试app自动打开adb调试模式,退出就关闭,防止客户的用户安装其它应用(直接通过改变Settings.Global.ADB_ENABLED字段) 打开usbdebug不提示弹出框 禁止调试图标出现在通知状态栏 过程分析 通过字段关闭和开启usb调试模式 通过开启开发者模式最终发现开启或者关闭是改变如下字段: Settings.Global.putInt(getContentResolver(),Settings.Global.ADB_ENAB

  • Android 实现永久性开启adb 的root权限

    adb 的root 权限是在system/core/adb/adb.c 中控制.主要根据ro.secure 以及 ro.debuggable 等system property 来控制. 默认即档ro.secure 为0 时,即开启root 权限,为1时再根据ro.debuggable 等选项来确认是否可以用开启root 权限.为此如果要永久性开启adb 的root 权限,有两种修改的方式: 1. 修改system property ro.secure, 让ro.secure=0. 2. 修改ad

  • Android Studio如何查看源码并调试的方法步骤

    背景 最近遇到一个Dialog问题,在6.0的手机上才可以重现,但是我们的工程已经是targetsdk=28了,点击Dialog的引用,只能看见28的class文件,现在我也越来越懒了,以前针对这种问题,我都会写个demo,去重现问题,但是现在希望能直接在当前工程快速定位出原因,能够基于源码debug肯定更好了,为了实现这个懒的目标,我找了很多办法,下面就一一介绍下 方法一 切换compilesdk studio默认使用的是gradle里配置的compilesdkversion,只要你把comp

  • PC版与Android手机版带断点续传的多线程下载

    一.多线程下载 多线程下载就是抢占服务器资源 原理:服务器CPU 分配给每条线程的时间片相同,服务器带宽平均分配给每条线程,所以客户端开启的线程越多,就能抢占到更多的服务器资源. 1.设置开启线程数,发送http请求到下载地址,获取下载文件的总长度           然后创建一个长度一致的临时文件,避免下载到一半存储空间不够了,并计算每个线程下载多少数据              2.计算每个线程下载数据的开始和结束位置           再次发送请求,用 Range 头请求开始位置和结束位

  • Android shell命令行中过滤adb logcat输出的方法

    我们在Android开发中总能看到程序的log日志内容充满了屏幕,而真正对开发者有意义的信息被淹没在洪流之中,让开发者无所适从,严重影响开发效率.本文就具体介绍几种在shell命令行中过滤adb logcat输出的方法.        1.只显示需要的输出(白名单) 最方便的当然是通过管道使用 grep 过滤了,这样可以使用 grep 强大的正则表达式匹配.简单的匹配一行当中的某个字符串,例如 MyApp: adb logcat | grep MyApp        adb logcat |

  • Android 判断网络状态及开启网路

    Android 判断网络状态及开启网路 在使用Android连接网络的时候,并不是每次都能连接到网络,在这个时候,我们最好是在程序启动的时候对网络的状态进行一下判断,如果没有网络则进行即时提醒用户进行设置. 要判断网络状态,首先需要有相应的权限,下面为权限代码: 即允许访问网络状态: <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>

  • Ubuntu下开启php调试模式报错信息解决办法

    Ubuntu下开启php调试模式报错信息解决办法 在Ubuntu下php的缺省设置是不显示错误信息的,如果程序出错会显示"无法处理此请求的错误提示",这在开发环境下非常不方便. 其实我们只要编辑下apache的配置文件就好 1.我的apache 配置文件目录是/etc/apache2/apache2.conf sudo vim /etc/apache2/apache2.conf 再最后加入以下两行 php_flag display_errors on php_value error_r

  • Android判断后台服务是否开启的两种方法实例详解

    Android判断后台服务是否开启的两种方法实例详解 最近项目用到后台上传,就开启了一个服务service. 但是刚开始用这种方法,有些机型不支持:酷派不支持.然后又换了第二种判断方法. // public boolean isServiceWork(Context mContext, String serviceName) { // boolean isWork = false; // ActivityManager myAM = (ActivityManager) mContext // .

随机推荐