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 ...
随机推荐
- bay——安装_Oracle 12C-单实例-Centos7 -DG.txt
用户和密码: root/bayaimbayaim/064286BAIbayoracle/oracleSID:orclsys/oraclesystem/oraclempay/mpaydx/dx ---- ...
- [日常] ubuntu下安装php pdo扩展和导入数据库
默认安装的php不存在pdo扩展,因此在使用到的时候会报错,直接使用这个命令 apt-get install php-mysql 就可以成功安装pdo扩展 安装完数据库后需要导入sql语句,先进入数据 ...
- go语言设计模式之state
state.go package main import ( "fmt" "math/rand" "os" "time" ...
- python 1 默写用递归实现无限极分类 2 默写用树实现无限极分类
data=[ {"cat_id":3,"name":"沙河","parent_id":1}, {"cat_id ...
- ZOJ 3778 Talented Chief
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3778 题目 某人做菜很厉害,一分钟能同时完成最多m个菜的一道工序,输入菜的 ...
- QT向界面中嵌套新的界面
简单说下 想要实现的内容 我们有一个主窗口mainwindow,需要向其中放入新的界面,你可以自己定义里面内容. 大致的效果图如下 实现起来就是利用QT的layout布局 使用水平布局QHboxlay ...
- DRF--重写views
前戏 在前面几篇文章里,我们写了get请求,post请求,put请求,在来写个delete请求,大概如下. class BookView(APIView): # 查询所有的数据和post方法 def ...
- centos安装nodejs并配置生产环境,基于pm2
安装nodejs和yarn的命令: curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum. ...
- 《细说PHP》第四版 样章 第18章 数据库抽象层PDO 1
现在,如果你已经能熟练地使用MySQL客户端软件来操作数据库中的数据,就可以开始学习如何使用PHP来显示和修改数据库中的数据了.PHP提供了标准的函数来操作数据库.在PHP 5以上的版本中可以使用My ...
- 让iphone5s 支持 flex 布局
/* Center slide text vertically */display: -webkit-box;display: -ms-flexbox;display: -webkit-flex;di ...