Skip to content

Instantly share code, notes, and snippets.

@iflove
Last active July 28, 2022 12:09
Show Gist options
  • Save iflove/324b4ef55e9d879c0851efa1b4886d84 to your computer and use it in GitHub Desktop.
Save iflove/324b4ef55e9d879c0851efa1b4886d84 to your computer and use it in GitHub Desktop.
安卓shell命令
安卓shell命令记录
@iflove
Copy link
Author

iflove commented Apr 11, 2021

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。

@iflove
Copy link
Author

iflove commented Apr 25, 2021

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  关闭代理(无需重启)

@iflove
Copy link
Author

iflove commented May 17, 2021

Input输入系统

getevent 查看所有Input节点
getevent -l

sendevent : 复杂一逼
use: sendevent device type code value

@iflove
Copy link
Author

iflove commented May 29, 2021

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
}

@iflove
Copy link
Author

iflove commented Aug 5, 2021

nohup 英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。
nohup Command [ Arg … ] [ & ]
参数说明:
Command:要执行的命令。
Arg:一些参数,可以指定输出文件。
&:让命令在后台执行,终端退出后命令仍旧执行。

使用&后台运行程序:
结果会输出到终端

使用Ctrl + C发送SIGINT信号,程序免疫

关闭session发送SIGHUP信号,程序关闭

使用nohup运行程序:
结果默认会输出到nohup.out

使用Ctrl + C发送SIGINT信号,程序关闭

关闭session发送SIGHUP信号,程序免疫

@iflove
Copy link
Author

iflove commented Sep 17, 2021

adb shell am force-stop com.test; adb shell am start -n com.test/com.test.MainActivity

@iflove
Copy link
Author

iflove commented Feb 14, 2022

Systrace 命令行工具
systrace -l //列出可监控的模块类别
D:\workspace\sdk\platform-tools\systrace>python2 systrace.py -t 10 -o mytrace.html -a cn.mashang.vscreen.base

@iflove
Copy link
Author

iflove commented Jul 12, 2022

安卓常用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