养成一个月更的生活+计算机技术博主吧


我似乎养成了月更的博主了,工作繁忙再也回不到小时候了,可以放假无忧无虑的玩电脑一整天了。
成天就是早9.30-晚6:30-10:00不等哈哈哈哈哈成天加班我快要卷了。
今天在哔哩哔哩上看手机软件测试的ADB命令使用,“软件测试员”(实习时间2022.08.08-至今)
我要学习!
学习!!
学习!!!
目前从去年毕业后感觉还是在鬼混,一天在公司上班感觉忙的时候好累啊(晚上8点-10点不等),不忙的时候让你疯狂休假(周六义务加班的调休换来的。)
想换工作了,
调试Android程序时,我们经常需要使用adb shell命令。adb是Android Debug Bridge的缩写,它充当调试桥梁的作用,就像一条连接开发机和设备之间的桥梁。
通过adb,我们可以在Eclipse中使用DDMS来调试Android程序,简单来说就是一种调试工具。它通过监听特定端口(如TCP 5554)来实现开发机和模拟器/设备之间的通讯。当我们运行Eclipse时,默认情况下会启动adb进程。
adb是一个C/S模式的程序,由三个部分组成:客户端、服务器和守护进程。其中客户端和服务器运行在开发机上,守护进程运行在模拟器或设备上。
通常,adb可执行文件位于/platform-tools/目录下,这是Android SDK的安装目录。为了方便使用,我们可以将adb路径添加到系统环境变量path中,例如:D:\sdk\platform-tools; 这样每次打开命令行工具时都可以直接使用adb命令,而不必进入adb目录。
基础命令大全:
adb devices:查看当前连接的设备列表 adb install [apk文件路径]:安装一个应用程序 adb uninstall [包名]:卸载一个应用程序 adb logcat:查看设备的日志信息 adb shell am start [包名/类名]:启动一个应用程序 adb shell input text [文本]:模拟输入文本到设备 adb shell screencap [文件路径]:截屏并保存为图片文件 adb pull [设备文件路径] [本地文件路径]:从设备上复制文件到本地计算机 adb push [本地文件路径] [设备文件路径]:将本地文件复制到设备上
更详细的如下表:
命令描述
android list targets显示系统中全部Android平台
android list avd显示系统中全部AVD(模拟器)
android create avd –name 名称 –target 平台编号创建AVD(模拟器)
emulator -avd 名称 -sdcard ~/名称.img (-skin 1280×800)启动模拟器
android delete avd –name 名称删除AVD(模拟器)
mksdcard 1024M ~/名称.img创建SDCard
ddms启动DDMS
adb devices显示当前运行的全部模拟器
adb -s 模拟器编号 命令对某一模拟器执行命令
adb install -r 应用程序.apk安装应用程序
adb pull <remote> <local>获取模拟器中的文件
adb push <local> <remote>向模拟器中写文件
adb shell进入模拟器的shell模式
android启动SDK,文档,实例下载管理器
adb uninstall apk包的主包名卸载apk包
adb help查看adb命令帮助信息
adb logcat -s 标签名在命令行中查看LOG信息
adb remount删除系统应用
adb shellcd data/apprm apk包exit缷载apk包
adb remount删除系统应用,重新挂载系统分区,使系统分区重新可写
adb shellcd system/apprm *.apk删除系统应用
adb root获取管理员权限
adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)启动Activity
adb forward tcp:5555 tcp:8000发布端口
adb push <source> <destination>复制文件到设备或模拟器上
adb pull <source> <destination>从设备或模拟器上复制文件
adb devices搜索模拟器/设备的实例
adb bugreport查看bug报告
adb shell logcat -b radio记录无线通讯日志
adb get-product获取设备的ID
adb get-serialno获取设备的序列号
adb shell sqlite3访问数据库SQLite3
adb shellcd system/sd/datals进入系统内指定文件夹并列出内容
adb shellrm -r xxx删除名为xxx的文件夹及其内部所有文件
adb shellrm xxx删除文件xxx
adb shellrmdir xxx删除文件夹xxx
一、常用简单的adb命令:
命令描述
adb devices获取设备列表和设备的状态
adb get-state获取设备的状态(device,offline,unknown)
adb kill-serveradb start-server结束,启动adb服务
adb install -r覆盖安装应用(apk)
adb uninstall卸载应用(应用包名)
adb pull将设备上的文件复制到电脑上
adb push将电脑上的文件复制到设备上
adb reboot重启设备
adb connect远程连接设备
adb disconnect断开设备连接
二、adb shell pm基本的命令:
命令描述
adb shell pm list package -s列出系统应用
adb shell pm list package -3列出第三方的应用
adb shell pm list package -i列出来源
adb shell pm list package -f列出包名和路径
adb shell pm path packagename列出应用apk的位置
adb shell pm dump packagename列出应用相关的信息
adb shell pm clear packagename清除应用的缓存数据
adb shell pm install /data/local/tmp/test.apk安装应用
adb shell pm install -r /data/local/tmp/test.apk重新安装应用
adb shell pm uninstall -k packagename卸载应用(保留缓存数据)
adb shell pm install -d apk允许降级安装
三、adb shell am基本的命令:
命令描述
adb shell am start -n activityname启动一个Activity
adb shell am start -W activityname等待页面启动完成
adb shell am start -S activityname先停止应用再启动
am force-stop packagename结束应用
三、adb shell dumpsys基本的命令:
命令描述
adb shell dumpsys cpuinfo监控CPU信息
adb shell dumpsys meminfo监控内存信息
adb shell dumpsys power监控电源信息
adb shell dumpsys battery监控电池信息
adb shell dumpsys wifi监控WiFi信息
adb shell dumpsys notification监控通知信息
adb shell dumpsys activity获取页面信息
四、关闭某项进程,以monkey为例:
命令描述
ps | grep monkey查看monkey进程的pid
kill pid杀死monkey进程
五、最近12小时的资源情况:
命令描述
adb shell dumpsys procstats --hours 12查看最近12小时的资源情况
六、录制屏幕命令:
命令描述
adb shell screenrecord /sdcard/demo.mp4录制屏幕视频
--time-limit限制录制时间
--size指定视频分辨率大小
--bit-rate指定视频的比特率
--verbose在命令行显示日志
七、截图命令:
命令描述
adb shell screencap -p /sdcard/screen.png截取屏幕截图并保存到指定位置
八、input命令:
adb shell input:
  • text 输入文本
  • keyevent 输入事件
  • tap 点击
  • swipe 滑动
九、关于获取当前页面的信息:
命令描述
adb shell dumpsys activity top | findstr ACTIVITY获取当前界面的Activity
adb shell dumpsys activity | findstr mFocusedActivity获取当前页面的activity
十、生成当前页面的xml文本:
命令描述
adb shell uiautomator dump [file]获取当前页面的XML信息
示例XML信息中的属性说明:
  • text:控件中显示的文本内容
  • class:控件的类型
  • package:包名
  • content-desc:说明
  • checkable:是否允许check
  • checked:check状态
  • clickable:是否允许click
  • enabled:控件状态
  • focusable:是否允许获取焦点
  • focused:是否获取到焦点
  • scrollable:是否允许滚动
  • long-clickable:是否允许长按
  • password:是否是密码控件
  • selected:select状态
  • bounds:控件绘制的长宽及位置四个数据,分成两组,分别是左上坐标和右下坐标
十一、打印页面的log信息:
命令描述
logcat -s ActivityManager打印页面的log信息
十二、系统操作指令:
命令描述
adb shell getprop ro.product.model获取设备型号
adb shell getprop ro.build.version.release获取设备Android系统版本
adb get-serialno获取设备的序列号(设备号)
adb shell wm size获取设备屏幕分辨率
adb shell dumpsys activity | find "mFocusedActivity"查看前台应用包名,适用于Android 7.0以下,必须先启动app
adb shell dumpsys activity | find "mResumedActivity"查看前台应用包名,适用于Android 8.0以上,必须先启动app
九、取日志:
命令描述
adb logcat -v time打印详细的日志信息
adb logcat -v time > D:\log.txt把日志输出到电脑上的文本文件中
adb logcat -c清除之前的日志信息
十、日志过滤:
  1. 使用管道进程来查看日志: adb logcat \| grep MyApp:过滤包含"MyApp"的日志adb logcat \| grep -i myapp:忽略大小写,过滤包含"myapp"的日志
  2. adb logcat \| grep MyApp:过滤包含"MyApp"的日志
  3. adb logcat \| grep -i myapp:忽略大小写,过滤包含"myapp"的日志
  4. 只抓取某个应用的命令: adb logcat \| findstr app进程号:只显示特定应用的日志(在Windows上使用findstr
  5. adb logcat \| findstr app进程号:只显示特定应用的日志(在Windows上使用findstr
  6. 日志级别过滤: 默认级别为V,输出所有日志最低级别。日志级别包括:D(Debug)、I(Info)、W(Warning)、E(Error)、F(Fatal)和S(Silent,最高级别,不输出任何日志)。
  7. 默认级别为V,输出所有日志最低级别。
  8. 日志级别包括:D(Debug)、I(Info)、W(Warning)、E(Error)、F(Fatal)和S(Silent,最高级别,不输出任何日志)。
示例:如果想要查看手机上级别为错误的日志,可以使用以下命令:
  • adb logcat *:E(不区分大小写)
符攀飞 符攀飞
2 个月前
483

扫描下方二维码手机阅读文章

3 0