Last active
July 28, 2022 12:09
-
-
Save iflove/324b4ef55e9d879c0851efa1b4886d84 to your computer and use it in GitHub Desktop.
安卓shell命令
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
安卓shell命令记录 |
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文件
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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。