一 基础命令
1. cat 命令 查看文件内容 cat demo.txt |grep aaa 。
2. touch 命令创建文件 echo 命令方便的写文件,文件不存在则创建
eg: echo "adfasdfalkjlk" > demo.txt 注: >清空文件写入 >>追加写入。
二 非shell命令 shell命令和非shell命令是互通的 前提是先运行adb shell.
1. adb shell dumpsys activity top
说明 : 可以查看当前应用activity的信息。
eg: adb shell dumpsys > info.txt 所有应用的四大组件信息。
2. adb shell dumpsys package [pkgname]
说明:相当于AndroidManifest.xml中的内容。
3. adb shell dumpsys meminfo [pkgname/pid]
说明:查看指定进程名或进程id的内存信息 可以和后面的top命令结合使用
4. adb shell dumpsys dbinfo [pkgname/pid]
说明:查看数据库存储信息(包括存储的SQL语句)。
5. adb install 文件名。
6. adb uninstall 包名。
7. adb pull/push。
8. adb shell screencap
说明:截屏操作。 eg: adb shell screencap -p /sdcard/tmp.png
9. adb shell screencord 录屏操作
10. adb shell input text
注意:这个命令可以模拟 物理按键、虚拟键盘、滑动、滚动。
11. adb forward
说明:设备的端口转发。这个命令在ida调试中非常重要。
用法: adb forward [(远程端)协议:端口号] [(设备端)协议:端口号]
eg:adb forward tcp:23946 tcp:23946
adb forward tcp:8700 jwdp:1786
12. adb jdwp
说明:查看设备中可以被调试的应用的进程号
13. adb logcat
说明:查看当前的日志信息。
用法1:adb logcat -s tag
用法2:adb logcat |findstr pkgname/pid/keyword
>>adb shell
>>logcat |grep pkgname/pid/keyword
三 shell 命令
1. run-as [pkgname]
说明:可以在非root设备中查看指定debug模式的包名应用沙盒。
2. ps
说明:查看设备的进程信息,货值指定进程的线程信息。
用法 :ps |grep 过滤的内容
ps -t [pid]
3. pm clear [pkgname]
说明:清空指定包名应用的数据
4. pm install / pm uninstall 设备中的apk
5. am start -D(debug运行) -n pkgname/pkgname.activityname 说明:启动一个应用
6. am startservice -n pkgname/pkgname.activityname
7. am broadcast -a [广播动作]
8. netcfg 说明:查看设备的IP地址
9. netstat 说明:查看设备的端口号信息
10. app_process 说明:运行Java代码
用法:app_process[运行代码的目录][运行主类]
eg:export CLASSPATH=/data/demo.jar //此jar包是 用dx命令把dex文件转化的jar包,其包含了classes.dex
exec /system/bin/app_process /data/com.XXX.XXX
11. dalvikvm 说明:运行一个dex文件
用法:dalvikvm -cp [dex文件][运行主类]
12. top 说明:查看当前cpu消耗。
用法:top[-n/-m/-d/-s/-t]
-m //最多显示多少个进程
-n // 刷新次数
-d //刷新间隔时间
-s // 按那列排序
-t //显示线程信息而不是进程
13. getprop 说明:查看系统属性值 设备信息
eg:getprop ro.debuggable
四 操作apk命令
1. aapt 说明:查看apk中的信息以及编辑apk程序包
用法:aapt dump xmltree [pkgname] [需要查看的资源文件xml]
2. dexdump 说明:查看dex文件的详细信息
用法:dexdump dex文件路径
五 进程命令
1. cat /proc/pid/maps 查看当前进程的内存映射信息 比如加载了那些so和dex
2. cat /proc/pid/status 查看当前进程的状态信息 比如 TracerPid
3. cat /proc/pid/net/tcp/tcp6/udp/udp6 查看当前应用的端口号信息