常用工具类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命令啥啥啥……

 

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

以上内容搬运自酷安小贝塔发表的<常用工具类Shell命令大全><填坑:Shell实用命令指北>图文,感谢小贝塔的整理,这里权当我个人的备份。如有需要,请前往酷安查找原文

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值