有时间就更新,学多少,写多少
想要写出全网最全的adb说明书
本地环境
╭─jojo@diodio ~
╰─$ screenfetch
./+o+- jojo@diodio
yyyyy- -yyyyyy+ OS: Ubuntu 18.04 bionic
://+//////-yyyyyyo Kernel: x86_64 Linux 4.15.0-70-generic
.++ .:/++++++/-.+sss/` Uptime: 2d 22h 18m
.:++o: /++++++++/:--:/- Packages: 4890
o:+o+:++.`..```.-/oo+++++/ Shell: zsh 5.4.2
.:+o:+o/. `+sssoo+/ Resolution: 1280x1024
.++/+:+oo+o:` /sssooo. DE: XFCE
/+++//+:`oo+o /::--:. WM: Xfwm4
\+/+o+++`o++o ++////. WM Theme: Mojave-light
.++.o+++oo+:` /dddhhh. GTK Theme: TraditionalOk [GTK2]
.+.o+oo:. `oddhhhh+ Icon Theme: Tela
\+.++o+o``-````.:ohdhhhhh+ Font: Sans 10
`:o+++ `ohhhhhhhhyo++os: CPU: Intel Core i5-6500 @ 4x 3.6GHz [68.0°C]
.o:`.syhhhhhhh/.oo++o` GPU: Mesa DRI Intel(R) HD Graphics 530 (Skylake GT2)
/osyyyyyyo++ooo+++/ RAM: 3548MiB / 15920MiB
````` +oo+++o\:
`oo++.
查询设备
adb devices -l
测试结果:
$ adb devices -l
List of devices attached
emulator-5558 device product:lxc_x86_64 model:LXC device:x86_64 transport_id:2
0123456789ABCDEF device usb:1-2 product:ALCATEL_ONETOUCH_7053D model:7053D device:X1 transport_id:1
- 连接状态:
*offline
:设备未连接到adb或没有响应
*device
:设备已连接到adb服务器
*no device
: 未连接到设备
将命令发送到特定设备
可能用到多个安卓设备,模拟器,手机,车机等等。
可使用-s
指定设备
adb -s emulator-5555 install helloWorld.apk
给大家看看谷歌的例子:
$ adb devices
List of devices attached
emulator-5554 device
emulator-5555 device
$ adb -s emulator-5555 install helloWorld.apk
如果您要发出很多 adb 命令,可以将
$ANDROID_SERIAL
环境变量设置为包含序列号。如果您同时使用-s
和$ANDROID_SERIAL
,则 -s 会替换$ANDROID_SERIAL
。
身为一个资深(6个月)的安卓开发人员;安卓设备两个是最少的,So这个命令真的好便利。
# 临时设置环境变量
export ANDROID_SERIAL=emulator-5558
这样后续的adb命令都是暗指这个安卓设备
删除环境变量:
unset ANDROID_SERIAL
安装应用(安装APK)
adb install path_to_apk
adb 发送广播
am broadcast + 参数
[-a <ACTION>]
[-d <DATA_URI>]
[-t <MIME_TYPE>]
[-c <CATEGORY> [-c <CATEGORY>] ...]
[-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...]
[--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...]
[-e|--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...]
[-n <COMPONENT>]
[-f <FLAGS>][<URI>]
adb 启动Activity
am start -n {包名}/{包名}.{Activity名}
am start -n {包名}/.{Activity名}
adb 关闭Activity
am force-stop {package name}
adb 启动service
am startservice -n {package name}/{packagename}.{service name}
am startservice -a <action>
adb查看正在运行的服务
service list
查看安装包的报信息还有Activity
aapt dump xmltree FooTest.apk AndroidManifest.xml
pm (PackageManager)
删除与包相关的所有数据
清除数据和缓存
pm clear <package_name>
pm clear com.xxx.yyy.voice.test
卸载APK
pm uninstall <package_name>
pm uninstall com.xxx.yyy.voice.test
输出APP的安装包(APK)路径
pm path <package_name>
pm path com.xxx.yyy.voice.test
打印APK相关的系统信息(状态)
pm dump <package_name>
pm dump com.xxx.yyy.voice.test
如何看输出的内容?
打印服务信息 | 解释 |
---|---|
DUMP OF SERVICE activity | activity信息 |
DUMP OF SERVICE meminfo | 当前内存使用信息 |
DUMP OF SERVICE procstats | 系统内存使用与一段时间内存总 |
DUMP OF SERVICE usagestats | 服务器使用状态信息 |
DUMP OF SERVICE batterystats | 电池状态信息 |
我也不能完全看懂输出的Log;但是主要的care点大致能看懂。
查看安装包名(好多)
pm list packages
pm list packages
pm list packages -3 #第三方APP
扩展资料:adb的adb shell pm list packages命令用来查看当前设备app应用包
svc
有的手机会保护自己,kill掉这些命令
打开wifi
svc wifi enable
关闭wifi
svc wifi disable
关闭移动数据网络
svc data disable
打开移动数据网络
svc data enable
我的小手机就只可以运行这两个命令。其他的不可以了。电脑无法运行模拟器,莫得办法。
网友评论