adb 输入回车命令_android adb shell 命令 | 学步园
主要关于adb shell 中的命令(am 、pm、input等):一、am:我们可以通过命令启动android中的Activity,Service,BroadcastReceiver 等组件位置: framework/base/cmd1. 拨打一个电话:am start -a android.intent.action.CALL -d tel:10086这里-a表示动作,-d表述传入的数据,还有
主要关于adb shell 中的命令(am 、pm、input等):
一、am:
我们可以通过命令启动android中的Activity,Service,BroadcastReceiver 等组件
位置: framework/base/cmd
1. 拨打一个电话:
am start -a android.intent.action.CALL -d tel:10086
这里-a表示动作,-d表述传入的数据,还有-t表示传入的类型。
2. 打开一个网页:
am start -a android.intent.action.VIEW -dhttp://www.baidu.com (这里-d表示传入的data)
3. 打开音乐播放器:
am start -a android.intent.action.MUSIC_PLAYER 或者
包名和应用名可以在Androidmanifest.xml文件查看到
am start -n com.android.music/om.android.music.MusicBrowserActivity
4. 启动一个服务:
am startservice
例如:am startservice -n com.android.music/com.android.music.MediaPlaybackService
(这里-n表示组件)
或者 am startservice -a com.smz.myservice (这里-a表示动作,就是你在Androidmanifest里定义的)
5. 发送一个广播:
am broadcast -a
例如:
am broadcast -a com.smz.mybroadcast
am broadcast -a com.company.application.tag.action -e key value -e speech_content 请说我是好孩子 -e ui_show true
6、启动一个activity
adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)
实例1:
am start -n com.android.camera/.Camera
实例2:(带extra 的 intent)
am start -n com.android.camera/.Camera -e abc hello
Starting: Intent { cmp=com.android.camera/.Camera (has extras) }
其中 extra 的 key 为 abc ,value 为字串 "hello"
extra中的值 类型不同可以 通过 -ei el 等标识
Intent参数:
[-a ] action字符串
[-d ] 传入数据
[-t ] 数据类型
[-c [-c ] ...]
[-e|--es ...]
[--esn ...]
[--ez ...]
[--ei ...]
[--el ...]
[--ef ...]
[--eu ...]
[--ecn ]
[--eia [,
[--ela [,
[--efa [,
[-n ] 组件一般是全路经: 包名/类名全路径
[-f ]
二、pm
位置: framework/base/cmd
1、pm install 安装apk文件,貌似 adb install 就是调的这个方法
-l: install the package with FORWARD_LOCK.
-r: reinstall an exisiting app, keeping its data.
-t: allow test .apks to be installed.
-i: specify the installer package name.
-s: install package on sdcard.
-f: install package on internal flash.
pm install xxx.apk
2、pm uninstall 包名 卸载一个程序
pm uninstall: removes a package from the system. Options:
-k: keep the data and cache directories around after package removal.
三、input 往系统中注入
位置: framework/base/cmd
1、输入文字,限英文,符号和数字,中文不可以
input text hello
2、输入键盘字符
input keyevent 23 输入回车
具体keyevent code 到 keyevent中查找
四、svc 命令
位置: framework/base/cmd
1.svc命令这个脚本在/system/bin目录下,这个命令可以用来控制电源管理,wifi开关,数据开关(就是上网流量)
2.svc power stayon [true|false|usb|ac] 这个是控制usb插入的时候屏幕是否常亮,这个有地方设置,就不多说了
svc power
Control the power manager
usage: svc power stayon [true|false|usb|ac]
Set the 'keep awake while plugged in'setting.//设置屏幕的常亮,true保持常亮,false不保持,usb当插入usb时常亮,ac当插入电源时常亮
3、# svc data
# svc data
svc data
Control mobile data connectivity
usage: svc data [enable|disable]
Turn mobile data on or off.//设置移动网络的数据是否启用
svc data prefer
Set mobile as the preferred data network//设置移动网络的数据优先于WIFI
.svc data disable这个命令可以关闭数据连接,就是上网流量,大家都知道控制上网的开关很多,但是大都是通过在apn上的接入点加后缀来实现的,但是这个命令不会更改apn的任何设置,直接在底层关闭数据连接。
应该是最彻底的,而且又不影响apn的设置。
这个跟apndroid有什么区别,apndroid是在关闭上网数据的时候,已经在下载的连接可能不会被强制关闭(这个在apndroid自己的说明中也有提到)。比如你在下载一个10M的电影,下载了1M,不响下载了。用apndroid关闭连接,可能这个下载还会继续,不会马上停掉。
但是用这个命令,绝对毫不留情的咔嚓掉。
4.svc data enable这个是打开上网数据连接,跟上一个命令是相反的。
5 svc data prefer这个命令是控制3g数据连接比wifi优先。我们都知道,正常情况下,有wifi的时候,不会用到3g连接。但是这个命令是相反,有3g的话先用3g流量,没有3g的时候采用wifi.我想大家不会这么傻吧,所以这个命令没什么用。
6. svc wifi
# svc wifi
svc wifi
Control the Wi-Fi manager
usage: svc wifi [enable|disable]
Turn Wi-Fi on or off.//设置WIFI是否启用
svc wifi prefer
Set Wi-Fi as the preferred data network//设置WIFI优先于移动网络的数据,一般应设置成这样,除非你刻意使用移动网络数据传输
svc wifi disable关闭wifi 连接
7 svc wifi enable开启wifi连接
8 svc wifi prefer设置wifi优先,跟5是相反的。
上面的命令都要在shell中执行,需要root。
参考:
五、wpa_supplicant wpa_cli
六、netd
更多推荐
所有评论(0)