常用工具类Shell命令大全手机屏幕碎了20秒复原「常用工具类Shell命令大全」 - 文章中心
常用工具类Shell命令大全手机屏幕碎了20秒复原「常用工具类Shell命令大全」
2025-04-05

常用工具类Shell命令大全

大家好,我是小贝塔,欢迎大家关注我。

直接进入正题

一、写自动签到脚本用到的命令

1、打开应用某个活动界面( 【Activity】 抓)

am start -n 包名/活动名

2、点击屏幕坐标(123,456)

input tap 123 456

3、用1秒的时间从(100,200)滑动到(300,400)

input swipe 100 200 300 400 1000

注:两个坐标相同就是长按

4、延迟3秒

sleep 3s

5、输入文本(不支持中文)hello

input text "hello"

注: 输入中文的方法(酷安@桥边红药754926246 )

先安装[链接]查看链接

用法:输入中文的shell命令为am broadcast -a ADB_INPUT_TEXT --es msg '文本'并且输入法要切换为那个安装的adb输入法

建议:命令带 “” 可输入多行文字和空格

6、强制停止应用

am force-stop 包名

7、先停止软件再打开活动界面

am start -S 包名/活动名

8、开启XQuickEnergy软件服务( 【My Android Tools】 找)

am startservice com.eg.android.AlipayGphone/com.alipay.android.launcher.service.LauncherService

9、发送广播

am broadcast 相关代码

10、启动界面的几个方法

am start "intent:intent值"

am start -n 包名/活动名 加参数

am start -a android.intent.action.VIEW -d URL Scheme

monkey -p 包名 -c android.intent.category.LAUNCHER 1(启动主Activity)

11、返回键

input keyevent 4

12、点亮屏幕

input keyevent 224

13、熄灭屏幕

input keyevent 223

_________________________________________

二、辅助功能

1、坐标开关(一次开,二次关,循环)

enabled=$(settings get system pointer_location)

if [[ $enabled == 1 ]]

then

settings put system pointer_location 0

else

settings put system pointer_location 1

fi

2、屏幕触摸白点

settings put system show_touches 1

3、打电话给手机号666

start -a android.intent.action.CALL tel:666

_________________________________________

三、应用管理

1、安装应用

pm install /sdcard/abc.apk

2、卸载应用

pm uninstall 包名

3、清除应用所有数据

pm clean 包名

4、冻结应用

pm disable 包名

5、解冻应用

pm enable 包名

6、隐藏应用

pm hide 包名

7、显示隐藏应用

pm unhide 包名

8、禁用组件(组件:服务、活动、广播、内容提供器, 【My Android Tools】 找)

pm disable 组件

9、启用组件

pm enable 组件

10、清除应用全部数据

pm clear 包名

_________________________________________

四、一些功能

以下模板为

input keyevent 数字

1、实体键

主页键 3

返回键 4

关机键 26

菜单键 82

最近任务键 187

2、音乐

播放/暂停 85

停止播放 86

播放下一首 87

播放上一首 88

3、文本编辑

复制键 278

粘贴键 279

剪切键 277

回车键 66

退格键 67

删除键 112

光标向上 19

光标向下 20

光标向左 21

光标向右 22

光标移动到开始 122

光标移动到末尾 123

4、其他

打开电话 5

打开计算器 210

打开浏览器 64

话筒静音键 91

扬声器静音键 164

提高屏幕亮度 221

降低屏幕亮度 209

熄屏 223

亮屏 224

5、其实还支持数字、字母键但是没什么实际意义

所有的键值在谷歌开发者文档里,可以来查[链接]查看链接

_________________________________________

五、系统修改

1、修改屏幕分辨率为1080x1920

wm size 1080x1920

恢复原分辨率

wm size reset

2、将屏幕密度修改为 160dpi。

wm density 160

恢复原屏幕密度

wm density reset

3、显示区域

wm overscan 0,0,0,200

四个数字分别表示距离左、上、右、下边缘的留白像素,以上命令表示将屏幕底部 200px 留白

建议用这个改成负数可去全面屏导航栏(金刚键),例如

wm overscan 0,0,0,-50

恢复原显示区域命令:

adb shell wm overscan reset

4、在所有界面下都同时隐藏导航栏(不推荐这种方法,推荐上边的方法)

settings put global policy_control immersive.navigation=*

恢复隐藏导航栏

settings put global policy_control immersive.preconfirms=*

5、关闭 USB 调试模式

settings put global adb_enabled 0

6、

开启WiFi svc wifi enable

关闭WiFi svc wifi disable

7、

关机 reboot -p

重启手机 reboot

重启到 Recovery 模式 reboot recovery

重启到 Fastboot 模式 reboot bootloader

8、

启用SELinux shell setenforce 1

禁用 SELinux setenforce 0

9、将系统日期和时间更改为 2020.02.21 20:45:00

date -s 20200221.204500

_________________________________________

六、其他实用命令

1、屏幕截图

screencap -p > /sdcard/屏幕截图.png

2、录制屏幕10秒(最高180秒)

screenrecord --time-limit 10 /sdcard/filename.mp4

3、强制移动文件A(或文件夹A及文件下所有文件)到文件夹B(相同文件则替换)

mv -rf A b

4、强制复制文件A(或文件夹A及文件下所有文件)到文件夹B(相同文件则替换)

cp -rf A B

5、删除文件A(或文件夹及文件夹下所有文件)

rm -rf A

删除文件夹A下文件(不删除A)

rm -rf A/*

6、锁定、解锁

锁定文件A(或文件夹A)

chattr +i A

解锁文件A(或文件夹A)

chattr -i A

7、将A文件内文字 替换 到B文件里

A > B

将A文件内文字 连接 到B文件里

A >> B

8、下载文件A到文件夹B

wget -p A B

------------------------------

-2、模拟用户操作

>点击屏幕坐标:input tap X Y

>长按250ms:input swipe X1 Y1 X1 Y1 250

>划动屏幕屏250ms:input swipe X1 Y1 X2 Y2 250

>输入文本:input text 文本

>打电话给10086:am start -a android.intent.action.CALL -d tel:10086

>模拟按键:关机键、主页键、返回键、F1、Ctrl、Shift都能模拟,详情见文末参考文章1,举几个例子:

>>模拟返回键:input keyevent 4

>>播放下一首:input keyevent 87

>>降低屏幕亮度:input keyevent 220

注:调出屏幕坐标有两种一种是在开发者选项里开启指针位置,其实一个命令就能调出来

>开启指针位置:settings get system pointer_location 1

>关闭指针位置:settings get system pointer_location 0

合并一下(点击后开关交替):

enabled=$(settings get system pointer_location)

if [[ $enabled == 1 ]]

then settings put system pointer_location 0

else settings put system pointer_location 1

fi

------------------------------

-3、安卓应用相关

>安装apk pm install 文件.apk

>卸载apk pm uninstall <包名>

>隐藏应用 pm hide <包名>

>显示应用 pm unhide <包名>

>停止应用 am force-stop 包名

------------------------------

-4、启动软件命令

--4.1 am start -n 类

介绍: 打开的是软件的activy界面,酷安有好多这样的软件了,其实都可以用一个命令来代替,比如QQ、微信、支付宝等扫描二维码一类

模板:am start -n 包名/包名.活动名

或者:am start -n 包名/.活动名

包名活动名用 【Activity】 、 【应用管理Xposed】 、 【开发者助手】 、 【开发助手】 来抓

------------------------------

常用举例:

---4.1.1 shell打开微信好友、QQ号、QQ群聊天界面

>1、打开微信好友聊天界面(时灵时不灵):

amstart-ncom.tencent.mm/com.tencent.mm.ui.chatting.ChattingUI--esChat_User微信号

>2、打开指定QQ聊天界面:

amstart-ncom.tencent.mobileqq/com.tencent.mobileqq.activity.SplashActivity--ezopen_chatfragmenttrue--eiuintype0--esuinQQ号

>3、打开指定QQ聊天界面:

amstart-ncom.tencent.mobileqq/com.tencent.mobileqq.activity.SplashActivity--ezopen_chatfragmenttrue--eiuintype1--esuinQQ群号

>4、QQ内打开网址(失效):

amstart-ncom.tencent.mobileqq/com.tencent.mobileqq.activity.QQBrowserActivity--esurl网址

>5、微信内打开网址:

amstart-ncom.tencent.mm/com.tencent.mm.plugin.webview.ui.tools.WebViewUI-d网址

>6、支付宝内打开网址:

amstart-ncom.eg.android.AlipayGphone/com.alipay.mobile.nebulacore.ui.H5Activity--esurlbaidu.com网址

------------------------------

---4.1.2 启动应用或启动应用二级界面

>启动QQ:amstart-n com.tencent.mobileqq/com.tencent.mobileqq.activity.SplashActivity

其他的就自己抓activy

------------------------------

--4.2 am start “intent:intent值” 类

抓取inent值方法有两种,

-简单的:先用Xposed Edge 带参数提取应用活动,然后提取 /data/user_de/0/com.jozein.xedgepro/prefs/collection 的相关intent值

-麻烦的:[链接]查看链接 (补充一句,可以用虚拟大师来找/data/data/ch.deletescape.lawnchair.plah/databases/launcher.db 这个文件进行相关操作)

---应用举例:打开微信小程序、桌面

------------------------------

---4.3 am start -a android.intent.action.VIEW -d ‘URL Shemes’

这个URL Shemes 苹果手机用的多,有关软件界面跳转参数请百度,我这里只分享支付宝有关的

>支付宝扫一扫:

am start -a android.intent.action.VIEW -d alipays://platformapi/startapp?appId=10000007

>支付宝转账:

am start -a android.intent.action.VIEW -d alipays://platformapi/startapp?appId=09999988

其他还有很多,请见这个帖子[链接]查看链接 评论区老哥分享的appId

------------------------------

-5、延伸发散思维

--5.1:使用打开软件和模拟用户点击能做一些自动化的任务

--5.2:替换开屏activy为主activy能跳广告,不过有副作用,治标不治本

--5.3:多个shell命令组合并且加入延时就能做成简单的shell脚本(.sh)

------------------------------

------------------------------

-四、总结

>实不相瞒,这个帖子是填坑的

>不会的可以去百度、去搜索,转换另一种思维去想,自己碰见的问题别人肯定碰见过,你搜不到很可能是搜索的词语不准确,仔细想,多看多想多总结,举一反三

>shell命令可以跳过一些界面,有时候参数会不全也是不行的

>很多东西具有相似点,试试看

>搜索举例:adb shell 打开啥啥啥、shell命令合并文件、shell命令啥啥啥……

------------------------------

  I   II   III   IV