-
-
Save iflove/324b4ef55e9d879c0851efa1b4886d84 to your computer and use it in GitHub Desktop.
安卓shell命令记录 |
lowmemorykiller
write /sys/module/lowmemorykiller/parameters/adj 0,1,2,7,14,15
write /proc/sys/vm/overcommit_memory 1 说明1
write /sys/module/lowmemorykiller/parameters/minfree 1536,2048,4096,5120,5632,6144
说明1
0 – Heuristic overcommit handling. 这是缺省值,它允许overcommit,但过于明目张胆的overcommit会被拒绝,比如malloc一次性申请的内存大小就超过了系统总内存。Heuristic的意思是“试探式的”,内核利用某种算法(对该算法的详细解释请看文末)猜测你的内存申请是否合理,它认为不合理就会拒绝overcommit。
1 – Always overcommit. 允许overcommit,对内存申请来者不拒。
2 – Don’t overcommit. 禁止overcommit。
adb设置代理和取消代理
adb shell settings put global http_proxy 代理IP地址:端口号
adb shell settings delete global http_proxy
adb shell settings delete global global_http_proxy_host
adb shell settings delete global global_http_proxy_port
adb shell settings put global http_proxy :0 关闭代理(无需重启)
Input输入系统
getevent 查看所有Input节点
getevent -l
sendevent : 复杂一逼
use: sendevent device type code value
View Hierarchy:
adb shell dumpsys activity top
android.widget.ListView{d1ae5ad VFED.VC.. .F...... 0,0-1080,1808 #7f0800c4 app:id/sampleList}
android.widget.ListView // クラス名
{
d1ae5ad // HashCode
V // Visibility (V, I, G)
F // FOCUSABLE (F=true, .=false)
E // ENABLED (E=true, .=false)
D // draw (.=not draw, D=draw)
. // SCROLLBARS_HORIZONTAL (H=true, .=false)
V // SCROLLBARS_VERTICAL (V=true, .=false)
C // CLICKABLE (C=true, .=false)
. // LONG_CLICKABLE (L=true, .=false)
. // CONTEXT_CLICKABLE (X=true, .=false)
. // PFLAG_IS_ROOT_NAMESPACE (R=true, .=false)
F // PFLAG_FOCUSED (F=true, .=false)
. // PFLAG_SELECTED (S=true, .=false)
. // PFLAG_PREPRESSED (p) / PFLAG_PRESSED (P=true, .=false)
. // PFLAG_HOVERED (H=true, .=false)
. // PFLAG_ACTIVATED (A=true, .=false)
. // PFLAG_INVALIDATED (I=true, .=false)
. // PFLAG_DIRTY_MASK (D=true, .=false)
0, 0 // mLeft, mTop
-
1080, 1808 // mRight, mBottom
#7f0800c4 // mID
app:id/sampleList // PackageName
}
nohup 英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。
nohup Command [ Arg … ] [ & ]
参数说明:
Command:要执行的命令。
Arg:一些参数,可以指定输出文件。
&:让命令在后台执行,终端退出后命令仍旧执行。
使用&后台运行程序:
结果会输出到终端
使用Ctrl + C发送SIGINT信号,程序免疫
关闭session发送SIGHUP信号,程序关闭
使用nohup运行程序:
结果默认会输出到nohup.out
使用Ctrl + C发送SIGINT信号,程序关闭
关闭session发送SIGHUP信号,程序免疫
adb shell am force-stop com.test; adb shell am start -n com.test/com.test.MainActivity
Systrace 命令行工具
systrace -l
//列出可监控的模块类别
D:\workspace\sdk\platform-tools\systrace>python2 systrace.py -t 10 -o mytrace.html -a cn.mashang.vscreen.base
安卓常用shell命令
dumpsys meminfo # 查询应用的内存信息
dumpsys activity processes # 查询应用的adj级别 oom: max=16 cur=
cat /proc/[PID]/oom_adj # 命令会直接显示出对应进程号的adj值
adb reboot recovery # 进入recovery模式
adb reboot loader # 进入recovery模式
/sys/class/backlight/backlight # 显示屏亮度值文件
cat /proc/sys/kernel/threads-max # 最大线程
dd if=/dev/zero of=/sdcard/iotest bs=1024000000 count=100 # Linux dd 命令用于读取、转换并输出数据。
cat /proc/meminfo # 实时获取系统内存使用情况(Linux)
dumpsys meminfo # dumpsys 是一种在 Android 设备上运行的工具,可提供有关系统服务的信息。参考链接:https://developer.android.com/studio/command-line/dumpsys?hl=zh-cn
ulimit -a # 用户限制-限制系统范围资源的使用。参考链接:https://ss64.com/bash/ulimit.html
ulimit -n # The maximum number of open file descriptors. 安卓系统一般默认1024
ls -l /proc/进程PID/fd/ # 查看进程fd 列表
sysctl -a # 系统级限制:
lsof -p [pid] # 查看进程使用打开文件列表
cat /proc/sys/fs/file-max # 系统级限制:
ps # Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。
pstree # 树形显示进程
am start -n com.xxa.app/.MainActivity -es website xxb.com # am 启动activity
busybox watch -n 2 'ls -l /proc/13651/fd/ | wc -l' # 监控命令的运行结果
busybox watch -n 1 "getprop | grep sys.usbcamera.num | tee -a /sdcard/1.txt"
am dumpheap pid/pkgName file # 生成heap文件
svc命令,位置在/system/bin目录下,用来管理电源控制,无线数据,WIFI
svc power reboot