目录
Android adb (cmd)常用调试命令记录 (持续学习中不定时更新记录.
一、文件拷贝到 android 设备指定文件夹
二、system 文件夹添加 读写权限
三、/system/app 使用 chmod 修改文件夹权限
四、android 设备 system 目录获得读写 rw 权限的方法
五、android 设备的连接、断开、显示连接设备,重启设备,修改设备分辨率,安装应用
六、向 android 设备模仿按键事件输入
七、删除文件
八、查找android设备中带某字符串的线程,并杀死某个线程
九、修改文件的权限
十、android 设备屏幕录屏
十一、查看日志,并且查看带制定字符的字符串
十二、cmd 清屏操作
十三、Android系统adb命令查看CPU与内存使用率
十四、中断执行的命令和退出shell
十五、重启或关机命令
十六、卸载应用
十七、cmd 复制信息的两种快捷方式
十八、cmd 切换盘,切换到指定文件夹
十九、cmd adb应用日志输出中文乱码解决(包括打开win 注册表,永久解决的方法)
二十、adb 如何查看Android手机CPU类型是armeabi,armeabi-v7a,还是arm64-v8a
二十一、adb 查找文件
二十二、安装 sdcard 文件夹下中的apk 方法
二十三、拖拽push apk到设备中,在pm install 安装软件的方法
二十四、adb 批量安装apk
二十四、chcp 解决 cmd 中有乱码的现象
二十五、adb 把日志保存到本地文件中
二十六、adb 模拟按键输入
二十七、adb 修改系统时间
二十八、Android 后台自动记录机器上所有的 log 日志( .sh文件)
二十九、adb 命令打开 设置界面
三十、adb 打开默认 lancher 界面
三十一、adb 获取设备的 Android 版本,或者 Android API 版本
三十二、adb 在手机执行 bin 文件
三十三、adb wifi 连接手机操作
三十四、一览命令总结
一、文件拷贝到 android 设备指定文件夹
举例:将 F:android目录下的Test文件夹(含有Test.apk文件) 复制到systempriv-app目录下
首先system目录是需要权限的
1、root命令
adb root (记得重新连接设备 adb connect xxx.xxx.xxx.xxx)
2、remount
adb remount
3、进入adb目录
adb shell
4、切换到目标目录
cd systempriv-app
5、创建文件夹Test
mkdir Test
6、退到主目录C:UsersXsy>
exit
7、执行
adb push F:androidTestTest.apk systempriv-appTest
ok 可以adb shell 切换到指定目录看结果
二、system 文件夹添加 读写权限
mount -rw -o remount /system (不一定行,不行的话请参考下面的第四条)
三、/system/app 使用 chmod 修改文件夹权限
已经root过 需要切换到root用户去拷贝,或者修改/system/app目录的权限才可以。
当你获取root权限后通过adb访问/system/app目录:
-
adb shell 进入shell模式
-
su 切换到root用户
-
chmod 777 system/app 修改 /system/app目录的权限为 777即可
-
exit 退出root用户
-
cd /system/app 即可进入/system/app 目录了
也可以使用shell模拟器来执行,shell查看附件
四、android 设备 system 目录获得读写 rw 权限的方法
1、root命令
adb root (记得重新连接设备 adb connect xxx.xxx.xxx.xxx)
2、remount
adb remount
3、进入adb目录
adb shell
4、之后 ls -l 即可查看 system 已经有了读写权限
五、android 设备的连接、断开、显示连接设备,重启设备,修改设备分辨率,安装应用
1、adb reboot 重启连接的设备
2、adb shell wm size 1080x2160 修改连接机器的分辨率
3、adb install -r xxx.apk 安装应用 / adb -s 设备id -r install app-release.apk 多个连接设备的时候指定设备安装应用
4、adb connect xxx.xxx.xxx.xxx 连接 IP 地址的机器
5、adb disconnect xxx.xxx.xxx.xxx 断开指定 IP 地址的设备 不带 IP 则断开所有连接的设备
6、adb devices 显示连接的设备
六、向 android 设备模仿按键事件输入
adb shell input keyevent 66 (向手机输入Ente,66 为键值)
七、删除文件
rm -rf /system/filename (强制删除rf 某个文件)
八、查找android设备中带某字符串的线程,并杀死某个线程
adb shell ps | findstr "xslam" (查找带字符串 xslam 的线程)
(adb shell 进入 shell 之后 ps | grep qvrservice (查找带字符串 qvrservice 的线程))
adb shell kill -s 9 21930 (21930 线程号)
adb shell kill PIDNumber 死你想杀死的后台进程来模拟某种 bug 的复现条件。
adb shell ps 查看当前终端中的进程信息
九、修改文件的权限
chmod 777 /dev/video4 (给 video4 权限读写执行,有时候有些文件需要 su 一下 root 权限)
十、android 设备屏幕录屏
adb shell screenrecord /sdcard/slam.mp4 (/sdcard/slam.mp4 录屏后保存的位置和文件名称)
十一、查看日志,并且查看带制定字符的字符串
adb logcat -c (清一下日志缓存)
adb logcat (日志显示)
adb logcat | find "Unity" (查找带字符串 “Unity” 的日志)
adb logcat -s "Unity" (查找带字符串 “Unity” 的日志)
adb shell
logcat -s Unity (进入shell 后,-s 加字符串,筛选指定log)
十二、cmd 清屏操作
cls (输入cls 回车,即可清屏cmd界面的信息)
十三、Android系统adb命令查看CPU与内存使用率
adb shell
top -m 10 -s cpu(-m显示最大数量,-s 按指定行排序)
-参数含义:
- PID : progress identification,应用程序ID
- S : 进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数
- #THR : 程序当前所用的线程数
- VSS : Virtual Set Size虚拟耗用内存(包含共享库占用的内存)
- RSS : Resident Set Size实际使用物理内存(包含共享库占用的内存)
- PCY : 前台(fg)和后台(bg)进程
- UID : User Identification,用户身份ID
- Name : 应用程序名称
十四、中断执行的命令和退出shell
ctrl + c 中断执行的命令
exit 退出 shell(如果进入了su,要多一次 exit,才能完全退出)
十五、重启或关机命令
1)如果一台电脑连接一台手机,则使用如下命令
2)如果一台电脑连接多台手机,具体指定哪台手机重启需要指定设备号
3)下面是关机命令
十六、卸载应用
1)卸载系统应用
2)卸载一般应用
十七、cmd 复制信息的两种快捷方式
1)选中信息,ctrl+c 复制,ctrl+v 粘贴
2)选中信息,“鼠标-右键 ”复制,鼠标移动到输入光标处,即可 “鼠标-右键” 粘贴
十八、cmd 切换盘,切换到指定文件夹
1、d: 按回车,切换到D盘
2、cd D:TempDLL 按回车,切换到D盘 TempDLL 文件夹下
十九、cmd adb应用日志输出中文乱码解决(包括打开win 注册表,永久解决的方法)
1)临时的方法
cmd 中输入: chcp 65001
2)在注册表里面添加,永久的方法
- 打开"运行",输入 regedit,按回车确定
- 找到 HKEY_LOCAL_MACHINESOFTWAREMicrosoftCommand Processor,添加字符串值,命名为 autorun,双击设置为:chcp 65001
二十、adb 如何查看Android手机CPU类型是armeabi,armeabi-v7a,还是arm64-v8a
机开启USB调试后,连上电脑,在Terminal中输入命令:
adb shell getprop ro.product.cpu.abi
二十一、adb 查找文件
adb shell
find -name 文件名
二十二、安装 sdcard 文件夹下中的apk 方法
adb shell;
pm install /sdcard/xxx.apk
好像用下面方式会快点 root + remount(可以试试)
adb connect 192.168.x.xxx
adb root
adb connect 192.168.x.xxx
adb remount
adb push xxx.apk /data/local/tmp
adb shell pm install -r /data/local/tmp/xxx.apk
二十三、拖拽push apk到设备中,在pm install 安装软件的方法
二十四、adb 批量安装apk
1、不带设备IP的
2、带设备IP的
批量文件和apk都要放在 adb 目录下
二十四、chcp 解决 cmd 中有乱码的现象
二十五、adb 把日志保存到本地文件中
1、adb shell logcat -v time > 文件
该文件可以拖拽进来
2、Ctrl + C 结束写入
二十六、adb 模拟按键输入
二十七、adb 修改系统时间
(注意把时间获取改为手动,不然可能联网会自动获取更新时间)
二十八、Android 后台自动记录机器上所有的 log 日志( .sh文件)
1、把下面的代码保存为 .sh 文件
2、操作步骤说明
二十九、adb 命令打开 设置界面
adb shell am start com.android.settings/com.android.settings.Settings
三十、adb 打开默认 lancher 界面
adb shell am start -n com.android.launcher3/com.android.launcher3.Launcher
三十一、adb 获取设备的 Android 版本,或者 Android API 版本
adb shell
getprop ro.build.version.release Android 版本
getprop ro.build.version.sdk Android API 版本
三十二、adb 在手机执行 bin 文件
三十三、adb wifi 连接手机操作
首先先了解一点底层的知识:
Android系统底层运行着一个服务(adbd),用于响应和管理大家在电脑端的adb命令连接,这个服务在启动时会根据手机的配置监听USB连接或网络其中之一。配置的属性为:service.adb.tcp.port,也就是监听的网络端口
- 以上属性的值 > 0:adbd将监听网络对应的端口(一般为5555)
- 以上属性的值 <=-1:adbd将监听USB
接下来是连接步骤:
命令行输入:adb connect (ip):5555
提示:unable to connect to (ip):5555
解决办法:
1)手机与PC相连,执行以下命令:adb tcpip 5555
成功提示:restarting in TCP mode port 5555
然后断开USB
错误提示:error:device not found
查看手机USB调试是否打开;PC端是否安装手机驱动。
2)接着执行adb connect (ip):5555,这时候应该就能连接成功了
成功提示:connected to (ip):5555