Android 的adb命令那么多,究竟哪些是必须掌握,哪些是经常用的呢?
记得在我刚接触Android时,就有这样的疑问,如果你现在也有这样的疑问,不妨看看这篇文章。
当然,这里不是系统的介绍adb命令,而是介绍一些工作中会使用到的,和必须掌握的命令,而且本文会持续更新!!!
-
瞎聊
我们知道,adb(Android Debug Bridge——安卓调试桥),可以直接操作管理Android模拟器或者真实的Andriod设备,那么知道如何通过adb操作管理Android就显得十分必要了。好了,废话不多说,请看下文adb命令介绍。
API Level | Android版本 | 名称 |
30 | 11 | R |
29 | 10 | Q |
28 | 9 | Pie |
27 | 8.1 | Oreo |
26 | 8.0 | Oreo |
25 | 7.1.1 | Nougat |
24 | 7.0 | Nougat |
23 | 6.0 | Marshmallow |
22 | 5.1.1 | Lollipop |
21 | 5.0.1 | Lollipop |
20 | 4.4W | KitKat Wear |
19 | 4.4 | KitKat |
18 | 4.3 | Jelly Bean |
17 | 4.2 | Jelly Bean |
16 | 4.1 | Jelly Bean |
15 | 4.0.3 | IceCreamSandwich |
14 | 4.0 | IceCreamSandwich |
13 | 3.2 | Honeycomb |
12 | 3.1 | Honeycomb |
11 | 3.0 | Honeycomb |
10 | 2.3.3 | Gingerbread |
9 | 2.3 | Gingerbread |
8 | 2.2 | Froyo |
7 | 2.1 | Eclair |
-
adb常见命令
adb root 获得root权限
adb devices 列出所有的设备
adb kill-server 关闭adb服务
adb start-server 开启adb服务
adb remount 重新挂载系统分区,使系统分区重新可写
adb shell reboot -p 关机命令
adb shell getprop ro.build.version.release 获取系统版本
adb shell getprop ro.build.version.sdk 获取系统api版本
adb -s [设备名称] shell 有多个设备连接时,操作其中之一
adb logcat -s 标签名 在命令行中查看LOG信息
adb logcat | grep 字符串 过滤固定字符串 : 只要命令行出现的日志都可以过滤, 不管是不是标签
adb install D:\HelloKitty.apk 安装应用程序(安装失败的话,加一个-r覆盖安装)
adb uninstall com.hellokitty 卸载应用程序
adb push D:\HelloKitty.apk \system\app 安装应用程序到系统app下未成功,因为只读,需要开启root权限
adb pull <local> <remote>
注:install安装,设备不会保存apk文件;push安装,会覆盖掉原来系统中对应的apk
adb shell 挂载到Linux的空间,进入机器环境
sqlite3 访问数据库
ll
ls 查看文件
ps 查看进程
cd data/app rm apk包 卸载apk包
mv 旧文件名 新文件名 重命名
安装系统APK后Launcher没有出现APK:
chmod 644(777) TVWeishi.apk
sync
reboot
读取的权限等于4,用r表示;写入的权限等于2,用w表示;执行的权限等于1,用x表示;
-
工作中常用adb
1、安装到系统app(需要root):
adb shell
mount -o remount /system
adb push D:\eq.apk /system/app
adb reboot
2、删除目录以及目录下的文件、文件夹:
rm -rf com.agg.ui.eq
3、删除用户的apk:
adb shell
cd /data/app
rm ...
4、查看日志和保存日志:
adb logcat -s AudioEqActivity
adb logcat >>D:\log.txt
5、升级屏驱:
adb shell
mount –o remount /system
adb push ../ ac83xxts.ko /system/drivers
6、查看文件内容:
adb shell
run-as 包名
cd 文件目录 //找到文件目录(比如:cd shared_prefs)
cat 文件 //查看文件内容
7、允许adb降级(-d)、测试(-t)、覆盖(-r)安装:
adb install -r -d -t D:\com.hy.HoneyMarket-1.1.0-0.apk
8、公司查看白名单:/etc/lowmem_package_filter.xml
adb pull /etc/lowmem_package_filter.xml D:/temp
9、关闭进程:
adb shell kill [PID]
kill -9 PID 强制杀死进程
10、清理app数据:
adb shell pm clear 包名
11、打开设置主页面:
adb shell am start com.android.settings/com.android.settings.Settings
12、获取android某个已安装app的版本号、详细应用信息命令:
adb shell dumpsys package com.hy.HoneyMarket
13、重启与关机:
adb reboot
adb shell reboot -p
14、电脑通过局域网连接Android设备:
adb connect "ip地址"
15、查看apk应用的包路径
adb shell pm list package -f 包名 或者 adb shell pm path 包名
16、截图
adb shell screencap -p /sdcard/1.png
adb pull /sdcard/1.png 电脑文件夹路径
注:会在android设备中残留截图文件;需要提前在电脑上建好文件夹路径。
17、查看APK-MD5的三种方式以及APK文件MD5
-
APK-MD5查看的三种方式
keytool -v -list -keystore 存储路径\***.keystore // (1)有keystore的情况使用
keytool -printcert -file apk解压后META-INF的存储路径\CERT.RSA // (2)有apk的情况
apkhelper方式 //(3)使用apkhelper软件拖拉就可查看MD5
-
APK文件MD5查看
md5sum 文件路径
18、查看进程是否存在
ps -A | grep com.tcl.systemdiagnose
ps -ef | grep com.tcl.systemdiagnose
注释:
ps 将某个进程显示出来
grep 命令是查找
中间的| 是管道命令是指ps命令与grep同时执行
-A 显示所有进程
-e 显示所有进程,此参数的效果和指定"A"参数相同
-f 全格式显示,包括UID,PPIP,C与STIME栏位
-h : 不显示标题
-l : 长格式
-w : 宽输出
a :显示终端上的所有进程,包括其他用户的进程。
r :只显示正在运行的进程。
u :以用户为主的格式来显示程序状况。
x :显示所有程序,不以终端机来区分。
格式:
程序被该UID所拥有 程序ID 上级父程序ID CPU使用的资源百分比 系统启动时间 登入者终端机位置 使用掉的CPU时间 CMD指令
UID PID PPID C STIME TTY TIME CMD
root 3790 3712 7 08:57:07 ttyS1 00:00:00 grep com.tcl.systemdiagnose
19、查看应用包信息
dumpsys package com.tcl.tvweishi
20、selinux状态
a、boot下打开关闭selinux:(1)ac androidboot.selinux permissive 关闭(2)ac androidboot.selinux enforcing 打开。(注:boot为输入reboot命令后通过长按enter键进入)
b、串口下操作selinux:
获取selinux状态:getenforce //Enforcing代表开启,Permissive代表警告,Disabled
代表关闭。
设置selinux状态:setenforce 0 // 0代表Disabled,即关闭;1代表Enforcing,即开启。
21、打开adb调试
start adbd(解决问题:由于目标计算机积极拒绝,无法连接。)
adb shell netcfg(查看IP地址,解决连错IP地址的问题:unable to connect to 192.168.1.121:5555)
22、显示所有安装应用
pm list package
23、linux生成文件
dd if=/dev/zero of=/data/aggbin bs=1m count=100 // 在/data/目录下生成100M的aggbin文件
df // 查看文件存储
24、查看设备分辨率、查看屏幕密度(DPI)
adb shell wm size
adb shell wm density
25、查看前台activity
adb shell
dumpsys activity top | grep ACTIVITY