adb的常见命令和异常报错操作
adb连接状态
adb devices , 获取设备列表及设备状态- 设备的状态有 3 种
- device , 设备连接正常
- offline , 设备离线,连接出现异常
- unauthorized 设备为进行授权,需要在设备上是否允许调试对话框进行授权
- adb install app在pc硬盘路径,选中app直接拖入即可
常见的错误情况
- INSTALL_FAILED_TEST_ONLY, 安装的app的debug版本的,未签名,adb install -t 路径即可安装
- INSTALL_FAILED_DUPLICATE_PACKAGE, 已经安装相同包名的app, 先卸载再安装
- adb uninstall app的包名,卸载app
- adb pull 将 Android 设备上的文件或者文件夹复制到本地
- adb pull sdcard/Android/111.txt E:
小技巧,可以将本地路径指定为桌面,方便查看, 在桌面按住shift键,鼠标右键选择在此处打开命令行窗口,直接输入adb pull sdcard/Android/111.txt 执行,就可将111.txt复制到桌面。
- 前提是设备已经获取root权限
- adb root
- adb remount
- adb push 将pc上文件复制到android设备中,修改room原生应用时比较频繁使用,如settings.apk, launcher3.apk
- adb shell pm 命令
- adb shell pm list package 列出android设备上的所有app
- adb shell pm list package -s 列出android设备上的系统级别app
- adb shell pm list package -3 列出android设备上的第三方app(用户安装的)
- adb shell pm list package -f 列出app包名及对应的apk名及存放位置
- adb shell pm list package -i 列出app包名及其安装来源(应用市场名称)
- adb shell pm dump app包名 列出app的相关信息,类似获取Manifest文件内容
查看前台 Activity
adb shell dumpsys activity activities "| grep mFocusedActivity"- adb shell am 命令
最常用的就是启动指定的activity和发送指定的广播- 启动指定的activity
操作指令 adb shell am start -n 包名/类名
注:如果启动activity时,出现如下错误
java.lang.SecurityException: Permission Denial: starting Intent { flg=0x10000000 > > cmp=com.mediatek.engineermode/.io.Gpio } from null (pid=3083, uid=2000) not exported from uid 1001解决办法,1、如果是你自己可控的app,那么找到你要调用的activity在manifest.xml中,增加
配置即可, android:name="" 可以为空字符串。
2、如果是不可控的app,例如我调用的系统原生app,那么你就洗洗睡吧,别折腾了,除非你修改源码和上边一样操作,重新push替换原来的app。
- 启动默认浏览器打开一个网页
adb shell am start -a android.intent.action.VIEW -d http://testerhome.com
- 先停止目标应用,再启动
adb shell am start -s com.android.camera/.Camera
- 启动相机
adb shell am start -n com.android.camera/.Camera
- 启动设置
adb shell am start -n com.android.settings/com.android.settings.Settings
- 启动Wifi设置
adb shell am start -n com.android.settings/com.android.settings.wifi.WifiSettings
- 启动蓝牙设置
adb shell am start -n com.android.settings/com.android.settings.bluetooth.BluetoothSettings
- 发送指定广播
操作指令 adb shell am broadcast -a 广播名 --ei/es/ez 参数名 参数值 --ei/es/ez 参数名 参数值
- --ei integer 值
- --es String 值
- --ez boolean 值
- --ef float 值
- --el long 值
例如之前写的
Android6.0 源码修改之Setting列表配置项动态添加和静态添加, 当中就通过发送广播来接收增加配置列表项
adb shell am broadcast -a cn.dynamic.add.settingcategoryitem --es location "0-2" --es title "红" --es intent "com.android.settings.SCHEDULE_POWER_ON_OFF_SETTING"
adb shell input keycode 指令
HOME 键 adb shell input keycode 3
返回键 adb shell input keycode 4
打开浏览器 adb shell input keycode 64
adb shell wm 指令
- 屏幕分辨率 adb shell wm size
- 屏幕密度 adb shell wm density
adb shell ifconfig 命令
- IP 地址 adb shell ifconfig "| grep Mask"
- WIFI 地址 adb shell ifconfig wlan0
- 状态栏和导航栏的显示隐藏
adb shell settings put global policy_control
可由如下几种键及其对应的值组成,格式为 key1=value1:key2=value2。
key 含义
- immersive.full 同时隐藏
- immersive.status 隐藏状态栏
- immersive.navigation 隐藏导航栏
- immersive.preconfirms 同时显示
value 含义
- apps 所有应用
所有界面- packagename 指定应用
- -packagename 排除指定应用
- 表示设置在所有界面下都同时隐藏状态栏和导航栏。(重启也不会失效,恢复需调用下面的命令)
adb shell settings put global policy_control immersive.full=*
- 表示恢复显示
adb shell settings put global policy_control immersive.preconfirms=*
- 表示设置在包名为 com.package1 和 com.package2 的应用里隐藏状态栏,在除了包名为 com.package3 的所有应用里隐藏导航栏。
adb shell settings put global policy_control immersive.status=com.package1,com.package2:immersive.navigation=apps,-com.package3
adb的常见命令和异常报错操作的更多相关文章
- 最常见的Python异常报错Error
内置异常 官网链接:https://docs.python.org/zh-cn/3/library/exceptions.html 在 Python 中,所有异常必须为一个派生自 BaseExcept ...
- Python基础中所出现的异常报错总结
今天我们来探索python中大部分的异常报错 首先异常是什么,异常白话解释就是不正常,程序里面一般是指程序员输入的格式不规范,或者需求的参数类型不对应,不全等等. 打个比方很多公司年终送苹果笔记本,你 ...
- OpenGL——外部读档+异常报错
从外部读取shader文件: 先添加Shader类: 再创建vertexSource.txt和fragmentSource.txt两个文件: 如图填入shader: 在shader.h宣告: 在sha ...
- saiku中过滤窗口优化及隐藏异常报错
问题一:当取消自动查询后,点击该维度应弹出过滤条件窗口,实际无反应,只有执行一次查询后再点击该维度,才能弹出过滤条件窗口 解决办法:打开WorkspaceDropZone.js文件,找到selecti ...
- go语言,golang学习笔记3 用命令下载框架报错问题解决 设置环境变量
go语言,golang学习笔记3 用命令下载框架报错问题解决 设置环境变量 下载安装:go get github.com/astaxie/beego 首页 - beego: 简约 & 强大并存 ...
- 执行命令npm publish报错:403 Forbidden - PUT https://registry.npmjs.org/kunmomotest2 - You cannot publish over the previously published versions: 0.0.1.
前言 执行命令npm publish报错:403 Forbidden - PUT https://registry.npmjs.org/kunmomotest2 - You cannot publis ...
- rpm方式安装MySQL后在命令行登录报错:ERROR 1045 (28000): Unknown error 1045
1.通过https://mirrors.tuna.tsinghua.edu.cn镜像源安装了MySQL5.7.22 rpm -ivh --force --nodeps https://mirrors. ...
- adb 异常报错----adb server is out of date. killing... ADB server didn't ACK * failed to start daemon *
在Eclipse进行android开发的时候,由于要启动adb,但有时候其他的程序启动会占用adb程序的端口,这时候在对android程序进行调试的时候就会出现报错: 究其原因就是因为其他程序占用了a ...
- (原创)vagrant up 异常报错,出现 There was an error while executing `VBoxManage` 的解决方法
最近在使用 vagrant homestead 时,不小心在虚拟机上使用了 exit 命令退出虚拟机,导致再使用 vagrant up 时出现以下错误: Bringing machine 'larav ...
随机推荐
- nRF24L01+组网方式及防撞(防冲突)机制的实战分享
利用多个nRF24L01+模块组网通信的实现方式 这里讨论的组网方式,不包含使用6个通道实现的多对1通信方式,因其只限于6个发送端,局限性很大,可以附加其他技术实现更好的组网,暂时这里不讨论.这里分享 ...
- PHP 部分语法(一)
PHP: PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言,它以 <?php 开始,并以 ?> 结束: 它还是一门弱类型语言,类型不需显式声明 变量: PHP 没有声明变量的命令 ...
- [Linux] 低版本centos升级git解决fatal: HTTP request failed
编译用的一些依赖yum install curl-devel expat-devel gettext-devel openssl-devel zlib-develyum install gcc per ...
- s3c2440裸机-时钟编程(一、2440时钟体系介绍)
1.总线框架 下图是2440的总线框架,其中有AHB(Advanced High performance Bus)高速总线,APB(Advanced Peripheral Bus)外围总线. 不同总线 ...
- 前端JSON请求转换Date问题
目的:记录使用SpringMVC中前端JSON数据中的日期转换成Date数据类型时区产生的问题 记录下遇到过的问题 在使用SpringMVC框架中,使用@RequestBody注解将前端的json数据 ...
- IPFS入门
相关链接 快速安装 深入浅出 IPFS指令集中文版 IPFS开发入门 filecoin 在线视频 go-ipfs
- 剑指Offer-30.连续子数组的最大和(C++/Java)
题目: HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决.但是,如果向量中 ...
- 站点部署,IIS配置优化指南[转]
站点部署,IIS配置优化指南 目录 一. 设置应用程序池默认设置 二. 常规设置 三. 优化回收策略 四. 性能 五. IIS初始化(预加载 ...
- fis3打包中的一些注意事项
1.在html文件中,如果在标签的style属性内添加路径,fis不会识别改路径并打包,如 2.fis主要针对静态文件进行打包.对其他文件打包会出现一些问题. 比如jsp页面.下面的例子script. ...
- hdu6521 吉司机线段树
http://acm.hdu.edu.cn/showproblem.php?pid=6521 待填 代码 #include<bits/stdc++.h> #define ls o<& ...