调用Activity管理器(am)
am工具发出命令来执行各种系统操作,例如启动活动、强制停止进程、广播意图、修改设备屏幕属性等。
-a action
指定 intent 操作,如 android.intent.action.VIEW
-d data_uri
指定 intent 数据 URI,如 content://contacts/people/1
打开网址
adb shell am start "https://www.baidu.com/"
打开相册
adb shell am start -n com.google.android.apps.photos/.home.HomeActivity -d file:///mnt/user/0/primary/Pictures/Screenshots/Screenshot.png
adb shell am start -d "file:///sdcard/sample.3gp" -t "video/3gp" -a android.intent.action.VIEW
启动app:adb shell monkey -p app包名 -v 1
注意-v 1,是1来的,不要写其他数字,比如500,等下手机就不受控制了(因为应用程序打开app并向其发送 500 个伪随机事件)
adb shell monkey -p com.zhiliaoapp.musically -v 1
Deep Linking深度链接
Android 深层链接在应用程序中打开特定页面,并可选择将数据传递给它
在谷歌浏览器中下载Deep Link Tester,打开软件输入网址,就可以直接跳转到该网址
创建指向应用内容的深层链接教程:
https://developer.android.com/training/app-links/deep-linking
通过adb指令在手机上输入link
adb shell input text "instagram://user?username=wigs"
然后点击Go To URL即可跳转到指定页面
如果不自己创建也可以找市面上的,付费的。打开Deep link generator深度链接生成器
Generate QR Code App Links for Amazon, Instagram, Youtube, TikTok, Facebook, and More | URLgenius
以ins为例
通过一个链接便可唤起应用并跳转到指定页面.
adb shell am start -a android.intent.action.VIEW -d instagram://user?username=wigs
可以使用查询参数占位符代替路径参数,也可以将查询参数占位符与路径参数结合使用。例如,http://www.example.com/users/{id}?myarg={myarg}
https://www.tiktok.com/@用户名
https://www.youtube.com/watch?v=f4E1S7M3e3o
instagram://user?username=用户名
https://www.instagram.com/explore/tags/标签名/
截屏和录屏(仅支持 Android 4.4 及以上版本的系统)
截图
截取 Android 设备屏幕是通过screencap
命令
adb exec-out screencap -p > imagePath.png
adb exec-out "screencap -p && sleep .1" > imagePath1.png
录制屏幕
1、录制 Android 设备屏幕,视频时长为15秒,分辨率为 720p,比特率为6Mbps,视频数据保存在 SD 卡的 screenrecord.mp4 文件里。
adb shell screenrecord --time-limit 15 --size 1280x720 --bit-rate 6000000 /mnt/sdcard/screenrecord.mp4
2、录制 Android 设备屏幕,停止录制按下ctrl+c
adb shell screenrecord /sdcard/screenrecord2.mp4
文件传输
将刚才录制文件复制到电脑
adb pull /sdcard/
screenrecord.mp4
将电脑上的文件/图片复制到手机上adb push 电脑文件路径 手机上的位置
adb push E:\20220305\a.jpg sdcard
adb 命令时指定目标设备
adb -s HT71D0200352 install instagram.apk
停止 adb 服务器
adb kill-server