android 调试常用命令
2015-11-01 18:10
489 查看
在Android应用开发过程中,熟悉常用的adb调试命令往往能事半功倍,再此做一个汇总记录。
adb shell vm size
查看分辨率,我本机的输出结果如下:
如果想要设置成其他分辨率,在size 后面加上想要的参数即可,比如
adb shell vm density
查看屏幕密度,我本机输出结果如下:
同样density后面也可已加上想要的密度值,比如
adb shell wm overscan
设置窗口的显示位置,比如想让界面在靠左200, 靠上300,靠右400 , 靠下500的显示区域显示 ,可以这样设置
通过vm设置的值手机重启后依然生效,如果想回复默认的,可以参考下面的设置方法
比如要直接打开wifi可以用如下的命令方式
比如存放在Settings数据库global表中的字段airplane_mode_on表明是否开启了飞行模式,可以通过
直接看到它的值,方便debug工作。
比如要查看系统media数据库里存放的图片记录,可以通过命令:
如果要更改_id=3082这条数据的title字段可以通过命令:
来实现,测试结果如下图:
清除应用数据。
在Launcher开发的时候,更新完成桌面应用图标的位置后,如果要查看显示效果,就必须先把Launcher的数据清除,否则新的改动不会生效。这个时候可以用clear命令一步完成。
查看当前安装的所有 apk。
整机开发的时候,经常需要查看下当前手机安装了哪些应用,可以通过
查看包名和文件名对应表
查看安装的第三方应用
禁止或启用一个应用
禁止一个应用
开启一个应用
启动一个activity
模拟发送广播
在开发SystemUI时,涉及到SIM卡状态显示的debug工作,模拟发送广播就非常有用了。
也可以查看电池信息
还可以查看某个安装包的详细信息
和grep命令结合可以过滤出关心的信息,比如要查看googlequicksearchbox的版本就可以使用下面的命令
录屏
adb shell vm 命令
adb shelll vm 命令在4.3以后的版本才可用,使用它可以方便的查看或者设置屏幕的分辨率、密度。adb shell vm size
查看分辨率,我本机的输出结果如下:
Physical size: 720x1280
如果想要设置成其他分辨率,在size 后面加上想要的参数即可,比如
adb shell vm size 720x1080
adb shell vm density
查看屏幕密度,我本机输出结果如下:
Physical density: 320
同样density后面也可已加上想要的密度值,比如
adb shell wm density 200
adb shell wm overscan
设置窗口的显示位置,比如想让界面在靠左200, 靠上300,靠右400 , 靠下500的显示区域显示 ,可以这样设置
adb shell wm overscan 200,300,400,500
通过vm设置的值手机重启后依然生效,如果想回复默认的,可以参考下面的设置方法
adb shell wm density reset
adb shell svc命令
svc 命令可以控制电源、数据流量、wifi、usb的开关状态,用法如下Available commands: help Show information about the subcommands power Control the power manager data Control mobile data connectivity wifi Control the Wi-Fi manager usb Control Usb state
比如要直接打开wifi可以用如下的命令方式
adb shell svc wifi enable
adb shell settings命令
settings命令可以更加方便的查看、更改SettingsProvider数据库的值,有了它不用在通过Sqlite3命令操作Settins数据库了。用法如下:usage: settings [--user NUM] get namespace key settings [--user NUM] put namespace key value settings [--user NUM] delete namespace key 'namespace' is one of {system, secure, global}, case-insensitive If '--user NUM' is not given, the operations are performed on the owner user.
比如存放在Settings数据库global表中的字段airplane_mode_on表明是否开启了飞行模式,可以通过
adb shell settings get global airplane_mode_on
直接看到它的值,方便debug工作。
adb shell content命令
adb shell content 命令可以直接通过命令行对contentprovider数据集进行增删改查操作,非常利于debug功做。比如要查看系统media数据库里存放的图片记录,可以通过命令:
adb shell content query --uri content://media/external/images/media直接查看,相对与Sqlite3命令更为快捷。下图是用该命令测试的结果:
如果要更改_id=3082这条数据的title字段可以通过命令:
adb shell content update --uri content://media/external/images/media/3082 --bind title:s:test.png
来实现,测试结果如下图:
adb shell pm命令
pm(package manager)命令方便查看系统当前安装包的一些状态,功能强大,选取几个我经常使用的场景.更多的使用方法直接输入adb shell pm查看输出帮助。清除应用数据。
在Launcher开发的时候,更新完成桌面应用图标的位置后,如果要查看显示效果,就必须先把Launcher的数据清除,否则新的改动不会生效。这个时候可以用clear命令一步完成。
adb shell pm clear com.android.launcher
查看当前安装的所有 apk。
整机开发的时候,经常需要查看下当前手机安装了哪些应用,可以通过
adb shell pm list packages查看
查看包名和文件名对应表
adb shell pm list packages -f
查看安装的第三方应用
adb shell pm list packages -3
禁止或启用一个应用
禁止一个应用
adb shell pm disable [packagename]
开启一个应用
adb shell pm enable [packagename]
adb shell am
am(activity manager) 命令方便调试应用的活动行为,它的使用场景比较多。网上的使用说明也比较多,不多加说明了。选常用的两个启动一个activity
adb -d shell am start -n com.google.android.setupwizard/.SetupWizardTestActivity
模拟发送广播
在开发SystemUI时,涉及到SIM卡状态显示的debug工作,模拟发送广播就非常有用了。
adb shell am broadcast -a android.intent.action.SIM_STATE_CHANGED --es ss ABSENT --ei slot 1
adb shell dumpsys
dumpsys 命令常用来查看activity的堆栈信息,比如adb shell dumpsys activity activities
也可以查看电池信息
adb shell dumpsys battery
还可以查看某个安装包的详细信息
adb shell dumpsys package com.google.android.googlequicksearchbox
和grep命令结合可以过滤出关心的信息,比如要查看googlequicksearchbox的版本就可以使用下面的命令
adb shell dumpsys package com.google.android.googlequicksearchbox|g rep versionName
adb shell screencap/screenrecord
截屏adb shell screencap -p /sdcard/test.png
录屏
adb shell screenrecord --time-limit 10 --bit-rate 6000000 /sdcard/demo.mp4
aapt命令
aapt命令可以用来查看一个apk包含的资源类信息,比如版本号,权限等。它位于SDK下的build-tools目录里。使用说明如下图:相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories